Projects in the IDE looks messed up now

I would love to see a preference setting where you can turn off the messages in the files listing. Looks so messy now!

@BramDriesen Have you tried to uncheck Inform about ignored files that are still tracked in plugin's settings?

Just did, it doesn't remove the text from the project view.

Can you please restart the IDE?

I did that since it prompted me to do so.

I meant restarting IDE after unchecking this option in settings (only plugins installation ask about restarting, so it was something different)

I'm having the same issue. Unchecking the option stated and restarting the IDE does remove the messages. However in a multirooted git project (project with several git repos) files that are tracked in a nested repo are no longer colour coded with the git status of that nested repo. The files are colour coded according to the outer repo.

I'm indeed also in a multi git project. My outer git doesn't have this message, but the inside repo has this on every file + When editing you get the message you're editing an untracked file. While it is actually tracked. Quite confusing and annoying.

Closing due to removing this feature at all with v3.1.2


CX Information_Exposure_Through_an_Error_Message @ LessonSource.java [master]

Information_Exposure_Through_an_Error_Message issue exists @ LessonSource.java in branch master
*Method doPost, at line 91 of LessonSource.java, handles an Exception or runtime Error t. During the exception handling code, the application exposes the exception details to printStackTrace, in method doPost of LessonSource.java, line 93.Similarity ID: 308029612
Method doPost, at line 102 of LessonSource.java, handles an Exception or runtime Error thr. During the exception handling code, the application exposes the exception details to printStackTrace, in method doPost of LessonSource.java, line 104.Similarity ID:<PHONE_NUMBER>
Method doPost, at line 102 of LessonSource.java, handles an Exception or runtime Error thr.

Issue still exists.

Issue still exists.

Issue still exists.

Issue still exists.

Issue still exists.

Issue still exists.

Issue still exists.


Deprecate IOpipeMeasurement and move into IOpipeExecution

This can follow #76 which could be used in the plugins additionally to obtain the current execution object for a given thread so when a plugin is called it can just grab the current execution regardless.

No longer blocked with #76 merged.


force Rundeck node cache reload/refresh

it seems sensible to set the Rundeck node cache to something like an hour, of course you can set it to 60 seconds, but for this question let's just say it's set to one hour. If I do set it to 60 seconds, this plugin will ping every node in my Ansible inventory every 60 seconds and we certainly don't want to do that.
if I update my Ansible inventory file, the inventory file that this plugin uses, how can I force Rundeck to reload its cache so it's sees the new nodes that just got added via the Ansible inventory file?
Via the Rudeck UI I can "Edit Nodes" and save, not changing anything, and this will trigger a refresh of the node but I'd like to be able to do this programmatically.
There is discussion about this issue here:
https://github.com/rundeck/rundeck/issues/78
and here:
https://github.com/rundeck/rundeck/pull/2380
but I'm not sure if/how pull/2380 relates to the Ansible plugin.
Is "Expose refresh node cache to plugin" implemented in this plugin and if so how do I use this functionality.
Or, I am open to suggestions on how I should be thinking about this if I'm looking at this the wrong way.
Thanks !

never mind, found the workflow step for reloading the cache

@jimr6007 can you share the workflow step with me? Have the same problem.


Rendering an image of a local HTML file with linked CSS does not render any CSS styles

Which version of PhantomJS are you using? Tip: run phantomjs --version.
2.1.1

What steps will reproduce the problem?

phantomjs.exe rasterize.js "file:///C:\Steam Top 250\site\index.html" index.png

Which operating system are you using?
Windows 7

Did you use binary PhantomJS or did you compile it from source?
Binary

Please provide any additional information below.

Output is completely unstyled (see attachment), even if I set the working directory to the same location as index.html.
Typical contents of index.html can be found here, albeit minified.
When viewed in either Firefox or Chrome, the page displays normally.
When rendering a remote version it loads the CSS normally (although fails to load Google fonts). Therefore it seems this problem is directly related to local files.

This is happening to me as well, but it is only selectively ignore SOME of the styling in the local HTML file, see attached images.

PhantomJS version = 2.1.1
OS = Windows 10
Generated using Selenium + PhantomJS in Python using "save_screenshot" method on local HTML file

When opened in Chrome, the HTML-formatted table renders just fine, but after saving as .png, some of the filled bar styling is gone, but only in select rows. Strangely, the cells that are missing the orange fill when saves as .png are consistent every time.

FYI - the behavior is the same when I tested on Mac (Sierra) ... the same CSS is selectively ignored when saving local HTML as PNG in my case, both Win10 and Sierra.


Style changes + simplification

btw the test failing isn't my fault

yeah
PROJECT_ID is missing, hmm
will fix after English and PhysX


Do a real world end to end example in github

possibly building off of https://github.com/transmute-industries/public-credential-registry-template
We should be able to show how a "did:web" and a "github account" are related... and we can use this repo to provide a real world example of that.

Do we want to converge on a registry for credentials? Or are you more referring to doing a real world example of the end to end flow of generating a github credential?

@oed i meant that we should generate a real example of a rebase "linked github account credential", and I shared some tooling that could help automating those credentials.

Makes sense. I believe Spruce and 3Box Labs has services that verify github already that we could base this on.
Ours needs to use the new schema proposed in rebase. It issues a JWT credential using a did:web.

@oed  would you be willing to do a PR that adds your schema here: https://github.com/rebase-xyz/spec.rebase.xyz/tree/main/spec/openapi/schemas/common
or would you prefer to create a new schema to match your existing data model?
@wyc we probably need to start breaking some eggs to move this along, I would accept a PR that changed the existing schemas.

I would prefer to converge on a common standard

@oed I interpret that as you are willing to conform to a new standard, and absorb some breaking changes in the process.
I am in the same boat.
In order to get there, we mostly need to be iterating on the JSON data models, and driving out any one off behavior associated with certain types.
I think today all we have is a GitHub example.
https://github.com/rebase-xyz/spec.rebase.xyz/tree/main/spec/openapi/schemas/common
I would approve PRs that added new schemas or that broke the existing one in some useful ways.


Basic certificates model working with dashboard implementation

It's looking great!! Very well done. Few things:

I think we should use a different basic JPEG for each challenge, so we don't need to put the challenge name, just the user name and date of completion. That way we can have images of the required challenges on the certificate (or whatever other customization).
I think it should show in a different tab when a user clicks on it rather than showing in the list in the dashboard. On that new page we can also have a link to download the certificate as a JPEG so they can upload to linkedin or something like that.
We should also check on the completed page if a certificate is completed and link to that page if so.
And yes, adding a callout to the homepage can be a separate issue.


Upgrades to the floating-ui

This PR presents the possible migration of the ember-attacher from Popper to Floating UI.
It also removes the ember-raf-test-waiter in favour of a more modern way to wait for the floating element positioning in the tests (see https://github.com/emberjs/ember-test-waiters).
Motivation
The floating-ui already has its motivation described on the official website:

Floating UI is the evolution of Popper v2, and aims to be a lower-level solution similar to CSS in which you progressively add properties to achieve desired positioning behaviour.

The Floating UI is actively supported by the organization that created the Popper library.
Migration
From the official migrate guide :
Floating UI forked Popper 2 and shares a lot of similarities. While the main external positioning function changed, many other parts of the API are similar.
I could provide the addon's own migration guide if the contributors' team agree to migrate/upgrade to the Floating UI.
What do you think about this proposal? I'll be happy to hear your thoughts.

@tylerturdenpants Hey, let me know if this looks good to you, we're wiling to get this addon up-to-date, let me know if you're open to sharing merge/release rights

@tylerturdenpants could you please take a look when you have time? Thank you!

Hey @tylerturdenpants I've noticed the CI failed because of the outdated Node version on CI. I've changed the NODE_VERSION in the ci.yml. Is that enough to fix the fail? Thank you!

I need to see if @kybishop will give me either more account actions like adding maintainers or transfer the repo to me.

@kybishop If you're keeping track with this thread could you please increase my access?

I need to see if @kybishop will give me either more account actions like adding maintainers or transfer the repo to me.

@kybishop If you're keeping track with this thread could you please increase my access?

@tylerturdenpants I think because it's not under an organization, I can't increase your access. If you delete tylerturdenpants/ember-attacher I can transfer ownership

@kybishop I have deleted the fork so try again! Hope this works 🤞

@tylerturdenpants seems like the only failing CI step now will be the Scenario: ember-release with an error

The Ember Classic edition has been removed. Specifying "classic" in your package.json, or not specifying a value at all, is no longer supported. You must explicitly set the "ember.edition" property to "octane". You can also run npx @ember/octanify to do this.
(the same will happen to ember-beta and ember-canary scenarios)

I think the "octanification" is out of this PR's scope and should be implemented separately. Maybe it makes sense to mark the ember-release as "allowedToFail" as well. Please correct me if I am wrong. Thank you!

@kybishop one last thing.  I would appreciate if you could also transfer NPM admin to me?  Tbh, if you want to do all the previous requests with ember-popper, I can take that off your plate. Thank you 😊

@pzubar Should we also have a little guide in README perhaps on how to upgrade to 2.0? Like list out breaking API changes


About the code of large-scale datasets

Thanks for sharing this code. I have a question that how do you implement the experiments of large-scale datasets such as Paper100M or Mag? Can you share this part of the code?

I'm sorry for not getting back to you sooner. The original codes were on private clusters so they may not be ready for a quick start. But the implementation on paper100M or Mag is the same with small datasets. Some hints may be helpful:

For large graphs, we use 3-layer MLP(with hid_dim=256) as the classifier instead of a linear classifier in the original SGC.

class MLP(torch.nn.Module):
    def __init__(self, in_channels: int, hidden_channels: int,
                 out_channels: int, num_layers: int, dropout: float = 0.0,
                 batch_norm: bool = True, relu_last: bool = True):
        super(MLP, self).__init__()

        self.lins = ModuleList()
        self.lins.append(Linear(in_channels, hidden_channels))
        for _ in range(num_layers - 2):
            self.lins.append(Linear(hidden_channels, hidden_channels))
        self.lins.append(Linear(hidden_channels, out_channels))

        self.batch_norms = ModuleList()
        for _ in range(num_layers - 1):
            norm = BatchNorm1d(hidden_channels) if batch_norm else Identity()
            self.batch_norms.append(norm)

        self.dropout = dropout
        self.relu_last = relu_last

    def reset_parameters(self):
        for lin in self.lins:
            lin.reset_parameters()
        for batch_norm in self.batch_norms:
            batch_norm.reset_parameters()

    def forward(self, x):
        for lin, batch_norm in zip(self.lins[:-1], self.batch_norms):
            x = lin(x)
            if self.relu_last:
                x = batch_norm(x).relu_()
            else:
                x = batch_norm(x.relu_())
            x = F.dropout(x, p=self.dropout, training=self.training)
        x = self.lins[-1](x)
        return x

The Adj we used is the symmetric normalized augmented adjacent matrix: $\hat A = \tilde{D}^{-\frac{1}{2}} (A + I)  \tilde{D}^{-\frac{1}{2}}$.

adj = SparseTensor(row=row, col=col, sparse_sizes=(N, N))
adj = adj.set_diag()
deg = adj.sum(dim=1).to(torch.float)
deg_inv_sqrt = deg.pow(-0.5)
deg_inv_sqrt[deg_inv_sqrt == float('inf')] = 0
adj = deg_inv_sqrt.view(-1, 1) * adj * deg_inv_sqrt.view(1, -1)
adj = adj.to_scipy(layout='csr')

we tune the lr from 5e-3 to 5e-2, and try different T (=1, =10, =50) and $\alpha$. Also, since NPA enables more propagation, >2 hop propagation would bring performance gain in many cases.


Unable to install laravel-epc-qr in Laravel 9 project.

composer require ccharz/laravel-epc-qr throws the following error :
Info from https://repo.packagist.org: #StandWithUkraine
Using version ^0.1.0 for ccharz/laravel-epc-qr
./composer.json has been updated
Running composer update ccharz/laravel-epc-qr
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires ccharz/laravel-epc-qr ^0.1.0 -> satisfiable by ccharz/laravel-epc-qr[0.1.0].
- ccharz/laravel-epc-qr 0.1.0 requires illuminate/support ^7|^8 -> found illuminate/support[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require ccharz/laravel-epc-qr:*" to figure out if any version is installable, or "composer require ccharz/laravel-epc-qr:^2.1" if you know which you need.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Switched to using https://github.com/smhg/sepa-qr-data-php.


API : change begin/end event names

BeginRunEvent -> RunStart
EndRunEvent -> RunEnd
insert_end_run -> insert_run_end
insert_begin_run -> insert_run_start
sundry variable/arg name changes

Nothing major, just some picky PEP8 whitespace stuff

Thanks for the renaming crusade @tacaswell !  I suppose we'll need to have another whenever we do the metadataStore -> metadatastore one...

Great work!! :+1:  Thanks @tacaswell !!

@ericdill I think I addressed everything


About swiftUI PageView content scrollview automatically slides to the top

When I was using the swiftui. official demo, I nested the ScrollView in the pageview content. When I clicked the item to push to another page, the ScrollView automatically slid to the top. I don't know if this problem is an internal problem of the SDK.

https://github.com/rechsteiner/Parchment/assets/2133154/63b96bd4-95af-42d2-9882-c902cc36867b
@rechsteiner

Hi @lijl! Thanks for the report. Which version of Parchment are you using?

Hi @rechsteiner   I ran the latest version today and it seems to have been changed. Thank you so much


multiple screenshot UI issues

with the new react-based screenshot UI, there are several outstanding UI issues:

[ ] the screenshot button tooltip doesn't go away (all the time) prior to capturing the screenshot. e.g. if you are capturing a REPL area
[ ] the screenshot button tooltip "caret" portion does not have the correct background color in all cases
[ ] the rubberband overlay does not occlude mouse clicks; as a result e.g. a) clicking on an ls table will execute a command; b) clicking on the  part of a block will cause the block accordion to collapse
[ ] the shadow effect does not permeate the entire canvas

i think many of these (all except the tooltip caret) would go away if we used a proper overlay, rather than the pure CSS approach that we have now


add lucide-react

Description
Hi Mayowa!
I was reviewing your PR and it seems it is missing the module lucide-react. I did a yarn add lucide-react and worked. Derrek thought it was a good idea to make a PR on your repo and see how it works. Any doubt let us know!
Additional Information

[ ] I have read the contributing docs (if this is your first contribution)
[ ] This is not a duplicate of any existing pull request

Related Issues
Closes #{issue number}
Note: If your changes are small and straightforward, you may skip the creation of an issue beforehand and remove this section. However, for medium-to-large changes, it is recommended to have an open issue for discussion and approval prior to submitting a pull request.
Your ENS/address:

Woah. This is weird. I'm sure I have lucide-react dependency installed. The one I have installed locally was v0.395.0.
But if this fixed it from your end. That's cool.
Thanks. I'll merge this now.

Well not sure. Because when i did the code comparison i saw that the
library lucid-react was there. Only you had a previous version.
But let's see...maybe after the merge the issue is gone.
El mar, 25 jun 2024, 17:11, Mayowa Obisesan @.***>
escribió:

Woah. This is weird. I'm sure I have lucide-react dependency installed.
The one I have installed locally was v0.395.0.
But if this fixed it from your end. That's cool.
Thanks. I'll merge this now.
—
Reply to this email directly, view it on GitHub
https://github.com/MayowaObisesan/batch6.buidlguidl.com/pull/1#issuecomment-2189222580,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAHZDFDWX3HR2XMBAOGVEFDZJGCB5AVCNFSM6AAAAABJ2REMYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBZGIZDENJYGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/network/virtual-hub
Module Details
Migrate the virtual-hub module from CARML to AVM
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username (handle)
arnoldna
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

Hi @arnoldna,
Thanks for requesting/proposing to be an AVM module owner!
We just want to confirm you agree to the below pages that define what module ownership means:

Team Definitions & RACI
Shared Specification (Bicep & Terraform)
Module Support

Any questions or clarifications needed, let us know!
If you agree, please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team
#RR

"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"

PR: https://github.com/Azure/bicep-registry-modules/pull/918

[x] Module published.
[x] GitHub teams are available and assigned to their parents.
[x] CODEOWNERS file updated.

Thank you for your work @arnoldna!


Changing highlighted to highlight

According to the KML specifications, StyleMap key/value pairs should only have values normal and highlight. The test specs had some cases where it was looking for highlighted.

Looks good. Thanks.


bug: Cpp comment is nil, not "//"

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.1
Operating system/version
Ubuntu 20.04.4 LTS x86_64
Describe the bug
I add a print function in mini.comment, and I type "gcc" in my c++ project, it shows "nil".
Then I use command :TSInstall cpp & :TSUpdate to make sure that they are up-to-date, but this bug still occurs.

Steps To Reproduce

make a cpp file;
type "gcc" to comment code
message shows "nil"

Expected Behavior
Maybe it is a bug of ts, but I am rookie of neovim/vim, so I make issue here...
Repro
return{
  {
    "echasnovski/mini.comment",
    event = "VeryLazy",
    opts = {
      options = {
        custom_commentstring = function()
          local cs = require("ts_context_commentstring.internal").calculate_commentstring()
          print(cs)
          return cs or vim.bo.commentstring
        end,
      },
    },
  },
}

I managed to solve this with following code in ~/.config/nvim/lua/plugins/treesitter.lua
return {
  {
    "nvim-treesitter/nvim-treesitter",
    dependencies = {
      "JoosepAlviste/nvim-ts-context-commentstring",
    },
    opts = {
      context_commentstring = {
        enable = true,
        enable_autocmd = false,
        config = {
          cpp = "// %s",
        },
      },
    },
  },
}

I'm not sure if there is a more correct way, so whoever would like is welcome to come up with a more elegant solution. Could you test it out?

I managed to solve this with following code in ~/.config/nvim/lua/plugins/treesitter.lua
return {
  {
    "nvim-treesitter/nvim-treesitter",
    dependencies = {
      "JoosepAlviste/nvim-ts-context-commentstring",
    },
    opts = {
      context_commentstring = {
        enable = true,
        enable_autocmd = false,
        config = {
          cpp = "// %s",
        },
      },
    },
  },
}

I'm not sure if there is a more correct way, so whoever would like is welcome to come up with a more elegant solution. Could you test it out?

It works! Tank you!
And I find a closed issue in this plugin's repo:  How do I set commentstrings for c?
maybe the best way is change the launch order to fix this bug?

that's an issue w/ your config then, LazyVim's order is fine.

nvim-treesitter

I use the default mini.comment option before: lazyvim: mini.comment
Then I create a plugin named 'ts', and add 'requires = { "nvim-treesitter/nvim-treesitter" },', all lua code below:
return {
  {
    "echasnovski/mini.comment",
    event = "VeryLazy",
    requires = { "nvim-treesitter/nvim-treesitter" },
    opts = {
      options = {
        custom_commentstring = function()
          local ccs = require("ts_context_commentstring.internal").calculate_commentstring()
          print(ccs)
          return ccs or vim.bo.commentstring
        end,
      },
    },
  },
}

After I run 'Lazy sync' and open a cpp file, 'css' is still 'nil', and plugin 'nvim-treesitter/nvim-treesitter' is not loaded.
When I type  to load nvim-ts, 'css' is still 'nil', too.
My plugin loaded status is below:

s/requires/dependencies/g

By the way, I don't use
 { import = "lazyvim.plugins.extras.lang.clangd" },
```,
my clangd lsp plugin get from @amaanq #1308

s/requires/dependencies/g

The Result:

my folder & files tree is below:
 tree -L 2
.
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   ├── cmake_install.cmake
│   ├── compile_commands.json
│   ├── demo
│   └── Makefile
├── CMakeLists.txt
├── include
│   └── test.h
└── src
    ├── main.cpp
    └── test.cpp

And my CmakeLists.txt is
cmake_minimum_required(VERSION 3.16.3)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
set(CMAKE_CXX_STANDARD 17)

project(cmake_example)

include_directories(${CMAKE_CURRENT_LIST_DIR}/include)

add_executable (demo src/main.cpp src/test.cpp)

I can't reproduce this with default LAzyVim. When I do gcc, it comments correctly. What am I missing?

It's normal that nvim-ts-context-commentstring returns nil.
The cpp filetype in NEovim sets commentstring automatically, so that will be used instead.

Update: if you want to set a custom commentstring, you can easily do this with:
  {
    "JoosepAlviste/nvim-ts-context-commentstring",
    opts = {
      config = {
        cpp = "// %s",
      },
    },
  },

There's really not need to mess with treesitter modules for this. Treesitter modules will also be deprecated at some point.


Use wandb in MMDETECTION 3.X

Hello,
I noticed that when mmdetection is updated to version 3.x, we will no longer be able to use log_config to set MMDetWandbHook.
We use vis_backends now.
vis_backends = [
    dict(type='LocalVisBackend'),
    dict(type='TensorboardVisBackend'),
    dict(type='WandbVisBackend',
         init_kwargs={
            'project': 'mmdetection',
            'group': 'maskrcnn-r50-fpn-1x-coco'
         })
]
visualizer = dict(
    type='DetLocalVisualizer', vis_backends=vis_backends, name='visualizer')

So in mmdetection3.x, how should I save the model checkpoint and visualize eval_images on wandb? class WandbVisBackend does not contain this function.
At the same time, I implore wandb to update the mmdetection tutorial, which is still version 2.x.
https://wandb.ai/ayush-thakur/mmdetection/reports/How-To-Use-Weights-Biases-With-MMDetection--VmlldzoyMTM0MDE2

@haooyuee Sorry. Currently, this part of the functionality is not yet fully developed.

@haooyuee对不起。目前，这部分功能还没有完全开发出来。

你好，我想将wandb中评估指标的step改成epoch，在mmdetection中应该怎么做


refactor(semantic): add comment to transform checker

Add back a doc comment which was accidentally removed in #5232.

#5250  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite

Only changes comments, so merging without review.


Honeycomb does not work with single value table

The honeycomb does not report nor colourise correctly when the underlying table created in data explorer only has a single value, e.g., Session count - estimated active sessions (by users, user type) [web] with no splits. Split this metric by users to get 2 values back, and the honeycomb work fine.

Something to do with the single value table having no heading for the entry?

Added error handling for blank first column. Now correctly shows value as value instead of name. Pushed to GitHub, added to ChromeStore 1.56


Fragalysis download doesn't download structures

When running asap-cli data download-fragalysis, the resulting file only has the metadata files, not the actual aligned/ directory. I think this has to do with using API_CALL_BASE_LEGACY instead of API_CALL_BASE, as when I run the same code but with API_CALL_BASE instead (still POSTing to BASE_URL_LEGACY), I get the structure files as well. Happy to just switch these API calls myself, but I didn't make this change to begin with so don't want to mess anything else up. Maybe @hmacdope or @mikemhenry know about this?

the command I ran btw was
asap-cli data download-fragalysis --fragalysis-target Mpro --output Mpro.zip --extract

Fragalysis is currently down, that may be a part of the issue. Lets wait for it to come back up before digging into this.


How to prefill API key for swagger UI

I'm using:

Rails 4.2.6
Grape, Win Bouncer, Doorkeeper

How can I pre-fill API key for logged in user for swagger UI? The only way I figured out how to get the current token is by creating on separate rails app as an OauthClient. However, for convenience and in production I would like to prefill the api key in swagger UI. Or how can a logged in user get the api key easily?
wine_bouncer.rb:
WineBouncer.configure do |config|
  config.auth_strategy = :swagger

  config.define_resource_owner do
    User.find(doorkeeper_access_token.resource_owner_id) if doorkeeper_access_token
  end
end

swagger.rb:
GrapeSwaggerRails.options.url      = '/api/mobile/swagger_doc.json'
GrapeSwaggerRails.options.app_url  = 'https://www.domain.com'
GrapeSwaggerRails.options.api_key_name = 'access_token'
GrapeSwaggerRails.options.api_key_type = 'query'

Hey @nhinze,
Does this part of the README not solve your problem?

Totally understandable!
As a basic understanding, you can treat the inside of this before_filter similarly to how you would treat a before_filter inside of a Rails controller, meaning it has access to a lot of useful things, the most important being the current session (if one exists).  If you are using Doorkeeper, you have access to a function called current_user, which will return a User instance tied to the existing session.  I'm not sure about your OAuth2 config, but basically you should be able to do something as below:
GrapeSwaggerRails.options.before_filter do |request|
  user = current_user

  # I've made this function up, but once you have access to the user,
  # you can basically get any tokens related to it that you would need.
  key = user.get_oauth_key

  GrapeSwaggerRails.options.api_key_default_value = key
end

Thanks, it got me in the right direction:
GrapeSwaggerRails.options.before_filter do |request|
  GrapeSwaggerRails.options.api_key_default_value = current_user.token.token
end

In user.rb model add:
has_one :token, -> { order 'created_at DESC' }, class_name: Doorkeeper::AccessToken, foreign_key: :resource_owner_id
Credit: http://stackoverflow.com/questions/24206483/how-to-return-doorkeeper-access-token-as-json

Great, glad I could help.  Would you consider this issue resolved?  If so, feel free to mark it as such.

I'd love this in the README, under something like "integration with doorkeeper", @nhinze would you like to contribute?

I created a pull request to update the README.

Thanks @nhinze


Docker Exits when starting

Hi All
I'm trying to run the bridge with Docker on a PI4, but the container exits immediately, checking the docker log I get the below error, does anyone know why i'm getting this?
standard_init_linux.go:211: exec user process caused "exec format error"
Thanks

use the NPM, that works well. I get the same error when using docker.


[embedding playground] Support index selection; Improve performance

Make sure each model box renders only once. The encode and match time is substantial for larger model.
Add checkbox for index selection
Keep only one "apply" button

@dwnoble We can ask UN to use this to testing their descriptions.

Thanks!


Xarray drops certain coordinates without warning after multiplying datasets

files.zip
Hi, I really like Xarray because it is doing a lot of work me. However, maybe in this case it was overdoing it a bit.
When making a field average of some data (data.nc) I use the grid area as weights (gridarea.nc). However, after multiplying the data with the gridarea the grid changed without warning.
The gridarea is constructed using 'cdo gridarea other_data.nc gridarea.nc'. The 'other_data.nc' in this case is from the same climate model and grid as data.nc, though from different simulations (and possibly post-processing).
Below a reproducable example, with the nc files attached.
MCVE Code Sample

import xarray as xr
data = xr.open_dataset('data.nc')
gridarea = xr.open_dataset('gridarea.nc')

Then I check whether the grids are the same
print((data.lat == gridarea.lat).all())
print((data.lon == gridarea.lon).all())

<xarray.DataArray 'lat' ()>
array(True)
<xarray.DataArray 'lon' ()>
array(True)

Then I multiply the data with the weights
new_data = data * gridarea

print(data)

<xarray.Dataset>
Dimensions:  (lat: 16, lon: 30, time: 1)
Coordinates:
  * time     (time) datetime64[ns] 1995-01-01T12:00:00
  * lon      (lon) float64 0.0 1.125 2.25 3.375 4.5 ... 29.25 30.38 31.5 32.62
  * lat      (lat) float64 71.21 70.09 68.97 67.85 ... 57.76 56.64 55.51 54.39
Data variables:
    U10M     (time, lat, lon) float32 ...

print(new_data)

<xarray.Dataset>
Dimensions:  (lat: 12, lon: 30, time: 1)
Coordinates:
  * lat      (lat) float64 71.21 70.09 68.97 65.61 ... 58.88 57.76 56.64 55.51
  * time     (time) datetime64[ns] 1995-01-01T12:00:00
  * lon      (lon) float64 0.0 1.125 2.25 3.375 4.5 ... 29.25 30.38 31.5 32.62
Data variables:
    *empty*

Note the different latitude for both datasets
Expected Output
The expected output is to get a dataset with the same grid as the original dataset, however, the latitude has now length 12 i.s.o. length 16
Problem Description

After digging a bit more into this problem it turns out the grids are not identical.
￼print(data.lat == gridarea.lat)
<xarray.DataArray 'lat' (lat: 12)>
array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True])
Coordinates:
  * lat      (lat) float64 71.21 70.09 68.97 65.61 ... 58.88 57.76 56.64 55.51

whilst
print(data.lat.values == gridarea.lat.values)
[ True  True  True False False  True False  True  True  True  True  True
  True  True  True False]

So the 'problem' is that xarray identifies the values which are not identical (e.g. 67.84978441466984 i.s.o. 67.84978441466983) and throws them out. Hence my original check if the grids are the same returns 'True' because all the values not equal are already thrown out. For me this introduced a 'conclusion rewriting error', because I averaged the data straight after multiplying with the weights. Hence, I didn't catch it at first. I'm not sure if this is 'wanted behavior'. For me it isn't at least ;-)
Could it be possible to either

make xarray not throw out the unequal values when comparing data, or
get a warning when you multiply two fields with the same dimensions (e.g ['time','lat','lon] and ['lat','lon'] and then it returns a different sized ['lat','lon']?


[WIP] Create CI.yaml

ACK

When a PR is created, only the code is checked using some tests and it is verified that it can be compiled (including in a Docker image).

If a release is made in the repository, the repository's tag is included in the label of the Docker image and the release is pushed to DockerHub.

CC: @LarryRuane


Content hides Input when keyboard visible (i.e. not keyboard-aware-scroll-view)

react-native, react and native-base version
{
  "main": "node_modules/expo/AppEntry.js",
  "private": true,
  "scripts": {
    "test": "node ./node_modules/jest/bin/jest.js --watch"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo/samples": "2.1.1",
    "@expo/vector-icons": "^6.2.1",
    "expo": "^23.0.0",
    "firebase": "^4.6.2",
    "native-base": "^2.3.3",
    "react": "16.0.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-23.0.0.tar.gz",
    "react-native-datepicker": "^1.6.0",
    "react-navigation": "^1.0.0-beta.19",
    "react-redux": "^5.0.6",
    "redux": "^3.7.2",
    "redux-logger": "^3.0.6",
    "redux-thunk": "^2.2.0"
  },
  "devDependencies": {
    "jest-expo": "^23.0.0"
  }
}

Expected behaviour
Content advertises to replace KeyboardAwareScrollView.

Auto-Scrolling should happen when I type an input on lower half of screen.
It is possible to scroll manually to make the input visible.

Actual behaviour

No auto-scrolling happens. Both with Asus ZenUI keyboard and Google Gboard.
It's not possible to scroll manually to make the input visible. (see below for workaround)

Wrapping the Input/Item with KeyboardAvoidingView does not work either.
Input:

is obscured:

Steps to reproduce (code snippet or screenshot)
      <Container>
        <Content>
          <Form>
             ...other <Item>s...
            <Item stackedLabel>
              <Label>Pekerjaan (lainnya)</Label>
              <Input value={this.state.userProfile.employment_other}
                onChangeText={(text) => this.setState({userProfile: {...this.state.userProfile, employment_other: text}})}/>
            </Item>
          </Form>
        </Content>
      </Container>

Tried using: <Content contentContainerStyle={{flex: 1}}> but made the content squashed.
Partial Workaround: As @samarhaider suggests (https://github.com/GeekyAnts/NativeBase/issues/534#issuecomment-344689283) it's possible to use @Andr3wHur5t's <KeyboardSpacer/> to allow scrolling manually when keyboard is visible. However, auto-scroll still does not occur even with KeyboardSpacer :

Is the bug present in both ios and android or in any one of them?
Only tested with Android 7.0.
Probably related to #534, #79.
Tips
I suggest modifying the KitchenSink to add long forms to better test this behavior in the future.

@ceefour tried to reproduce the issue. Couldn't see anything like above. It will be helpful, if you can create a test repo for us to test.
Gif

@akhil-geekyants Sure, here it is : https://github.com/ceefour/keyboardavoider

@ceefour this is happening only with the latest expo on Android device. Tried a sample app with a long form created using react-native init. It works fine. KitchenSink app with CRNA also works fine with an older expo version (19.0.1).
Not a NativeBase bug.

Thanks @akhil-geekyants , reported to https://github.com/expo/expo/issues/1073

Closing this issue

@akhil-geekyants Please help me, can you show me where is the working app:

" a sample app with a long form created using react-native init"
"KitchenSink app with CRNA also works fine with an older expo version (19.0.1)". The problem is KitchenSink has no demonstration at all of long forms. All of the forms are short. That's why if you could update the KitchenSink app to add a long form example, it will be very helpful.

I'm trying to diagnose the problem, but I need to localize first where it is actually happening, because there are so many components at stake which I'm unfamiliar with:

expo app?
expo SDK ?
react native ?
native-base ?
KeyboardAvoidingView ?
keyboard-aware-scroll-view ?
the Android version?
the Android keyboard?
user's (my) own mistake in code ?
behavior = height / position / padding variations ?
style / flex / alignItems / justifyContent / etc. ?

So if you can share me these two working examples (first I need to confirm if they're indeed working in my system) and I can try to triage at which point does it break..
cc @tcdavis @ide re: https://github.com/expo/expo/issues/1073#issuecomment-350120860

@ceefour you can check the sample app created using react-native init here
For Kitchen Sink App add some extra fields in any of the files to make it exceed the height of the device.

I made it work with https://github.com/APSL/react-native-keyboard-aware-scroll-view on Expo
You need to add this to app.json:
"androidStatusBar": {
"backgroundColor": "#000000"
},
Then:
import React from 'react';
import { Platform, View } from 'react-native';
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
const Content = () => (
  <KeyboardAwareScrollView
    enableOnAndroid
    enableAutomaticScroll
    keyboardOpeningTime={0}
    extraHeight={Platform.select({ android: 200 })}
  >
    <View>
      {props.children}
    </View>
  </KeyboardAwareScrollView>
);

i am facing the same issue i tried every solution but my problem not solved

Tried to get my head around this here: https://github.com/expo/expo/issues/1073
Could anyone with a better understanding of this let me know if I'm missing something obvious?

@chriswait @waqaramjad Have you found a solution?

Thanks @chriswait
It helped.
I added extraScrollHeight. Not sure if there is a way to do without it,
import React from 'react';
import { TextInput, StyleSheet } from 'react-native';
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';

export default class Settings extends React.Component {
  static navigationOptions = {
    header: null
  };

  render() {
    return (
      <KeyboardAwareScrollView enableOnAndroid extraScrollHeight={200} >
        <TextInput placeholder= "Input1" style={styles.input} />
        <TextInput placeholder= "Input2" style={styles.input} />
        <TextInput placeholder= "Input3" style={styles.input} />
        <TextInput placeholder= "Input4" style={styles.input} />
        <TextInput placeholder= "Input5" style={styles.input} />
      </KeyboardAwareScrollView>
    );
  }
}

const styles = StyleSheet.create({
  input: {
    height: 100, borderColor: 'gray', borderWidth: 1, padding: 10, margin: 10
  }
});

following this comment https://github.com/expo/expo/issues/1073#issuecomment-467782012
simply adding enableOnAndroid to Content make it works  (as Content behind the hood is already a keyboaravoidingview-ish )
  <Container>
    <Content enableOnAndroid>
      <Form>
        <Item>
          <Input />
        </Item>
      </Form>
    </Content>
  </Container>

@allan-simon it works, thx

<ScrollView
contentContainerStyle={{
height: height - 80,
      width
    }}
    keyboardDismissMode="interactive"
    keyboardShouldPersistTaps="handled"
  >

...

its work

<ScrollView
contentContainerStyle={{
height: height - 80,
width
}}
keyboardDismissMode="interactive"
keyboardShouldPersistTaps="handled"
>

it works

Thanks allan-simon, it worked 👍

@allan-simon thanks mate, its worked. I was looking for the problem for about 1 hour...


Wrong gem version in template.rb

Descriptive summary
The README instructions use template.rb, which has the wrong gem version. This causes this command to fail.
Expected behavior
The rails new command succeeding.
Actual behavior
It fails when trying to download the hyrax gem.
Steps to reproduce the behavior
Run this:
rails new my_app -m https://raw.githubusercontent.com/projecthydra-labs/hyrax/master/template.rb

Closed by #379. Thanks, @little9!


Migration to sqlalchemy 2 (COPDS-941)

 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.


Time Based OTP counter calculation - a bug maybe

I'm having a weird result when validating the code that has not been expired yet. Sometime it's true and sometime it's false. So I dig into it and I think that there is a bug in counter calculation.
For example, a code that will be valid for 3 seconds or 3000 milliseconds:
The first timestamp that generates the code is<PHONE_NUMBER>247 is divided into 3000 milliseconds which is 531259091 and used as counter.
Now 2005 milliseconds passed and the timestamp is<PHONE_NUMBER>252 and then divided to 3000 milliseconds which is 531259092 and used as counter.
The result of validation will be invalid because the counters are different.
Another example, suppose we use seconds instead of milliseconds and a very small number:
Validity - 7 seconds
Starting timestamp - 10
So code is valid until 17
Counter = (10 / 7 = 1)
4 seconds passed and the timestamp now is 14
Counter = (14 / 7 = 2)
The resulting counters are different but the time does not yet passed the validity period.

Hi,
thanks for taking the time to investigate the problem and create an issue.
The problem was to wrongly use truncated division for calculating how many times the time step fits into the timestamp. This can sometimes lead to an incorrect counter value due to a rounding error. The solution is to use floored division, as required by the RFC 6238.
I published a new version 2.0.1, which will be available at Maven Central shortly.
Kind regards,
Marcel

Thank you for taking time to look about this. I realized that this is not really a bug but just my misunderstanding about the algorithm. What you did is already correct since integer division is same as floor and your update does not made a change. I looked at python version of the rfc (pyotp) and it's the same formula. Now I understand what a time window or time step is. It's just my first impression is just like jwt's expiration time.

The old code behaves wrong for negative timestamp values. For a timestamp -1234567and a time step 30000 the counter value would be -41 with integer division, but -42 with floor division.  For negative values integer division round towards zero and floor division in the other direction to negative infinity.
Whereby this is probably rather a theoretical error case, which does not occur in practice...


intersect step of tutorial Introduction to Genomics and Galaxy fails

Dear,
trying to proceed through the Introduction to Genomics and Galaxy tutorial on usegalaxy.eu, the intersect tool fails with error :
Traceback (most recent call last):
  File "/opt/galaxy/shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/intersect/33b3f3688db4/intersect/gops_intersect.py", line 100, in <module>
    main()
  File "/opt/galaxy/shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/intersect/33b3f3688db4/intersect/gops_intersect.py", line 77, in main
    for feature in intersect( [g1, g2], pieces=pieces, mincols=mincols ):
  File "/opt/galaxy/venv/lib/python2.7/site-packages/bx/intervals/operations/intersect.py", line 23, in intersect
    bitsets = intersect[0].binned_bitsets( upstream_pad=upstream_pad, downstream_pad=downstream_pad, lens=lens )
  File "/opt/galaxy/venv/lib/python2.7/site-packages/bx/intervals/io.py", line 158, in binned_bitsets
    for interval in self:
  File "/opt/galaxy/venv/lib/python2.7/site-packages/six.py", line 564, in next
    return type(self).__next__(self)
  File "/opt/galaxy/venv/lib/python2.7/site-packages/bx/intervals/io.py", line 227, in __next__
    rval = NiceReaderWrapper.next( self )
  File "/opt/galaxy/venv/lib/python2.7/site-packages/six.py", line 564, in next
    return type(self).__next__(self)
  File "/opt/galaxy/venv/lib/python2.7/site-packages/bx/intervals/io.py", line 227, in __next__
    rval = NiceReaderWrapper.next( self )

[skipping hundreds ...]

  File "/opt/galaxy/venv/lib/python2.7/site-packages/bx/intervals/io.py", line 227, in __next__
    rval = NiceReaderWrapper.next( self )
  File "/opt/galaxy/venv/lib/python2.7/site-packages/six.py", line 564, in next
    return type(self).__next__(self)
  File "/opt/galaxy/venv/lib/python2.7/site-packages/bx/intervals/io.py", line 227, in __next__
    rval = NiceReaderWrapper.next( self )
RuntimeError: maximum recursion depth exceeded while calling a Python object

looks like a tool bug but it seems to be the same tool version 1.0.0...

This is on usegalaxy.eu, right?
In that case, see https://help.galaxyproject.org/t/problem-with-intersect-tool-tutorial/2147.
Try to switch to the older version of the tool.


feature_table_pre_process is not a valid command

preprocessing samples doesn't work
Error in feature_table_pre_process(feature.table, meta_data, sample.var,  :
could not find function "feature_table_pre_process"

I have got the same issue, error in feature_table_pre_process. I was able to solve it by following the instructions in ?ancombc instead of the ANCOM-BC-Code-Archive's README.
For preparing the data, PhyloSeq is needed. My script was:
library(phyloseq)

# Load the OTU table that is saved in a tsv file. Columns should be samples and rows should be taxa.
OTU <- read.csv("otu.tsv", sep = "\t")
rownames(OTU) <- OTU[,1]
OTU[,1] <- NULL

# Load metadata, which is also in tsv (but you could use other format, such as csv, of course).
metadata <- read.csv("metadata.tsv", sep = "\t")
rownames(metadata) <- metadata[,1]
metadata[,1] <- NULL

# Create the phyloseq object.
phyloseq.otu = otu_table(OTU, taxa_are_rows = TRUE)
phyloseq.meta = sample_data(metadata)
phyloseq.object = phyloseq(phyloseq.otu, phyloseq.meta)

This can be used as feature.table for the ANCOM_BC() function.
Honestly, the instructions in the docs also had a taxonomy table object for PhyloSeq, but I did not include this in my script because I do not understand what it means and how to manipulate it. If anybody knows and could explain how it affects the ANCOM analysis, I'd be very glad!


Treesitter HTML support, nested languages

As I'm not quite happy with the HTML outline provided by LSP, I thought I'd have a try at writing some Treesitter queries to get basic support into Aerial. Think I have something workable, and will submit a PR.
Working on this, however, got me thinking about support for nested languages. It would be great if Aerial could support JS and CSS in HTML (and Lua in Vimscript by the same token), since Treesitter already provides the data. Any plans for this?

I don't currently have any plans to support nested languages. It would be a little tricky because of how the treesitter language extensions work, but it's definitely possible.

I've been toying with this, and very basic support ended up being fairly trivial. After grabbing parser for buffer with helpers.get_parser, instead of calling :parse(), I wrapped the entire query processing code in:
buf_parser:for_each_tree(function(syntax_tree, parser)
...
end)

Proper nesting is the hard problem, as that involves cross-linking matches in different trees with theoretically infinite nesting. However, if it's sufficient to have a separate tree for each injection - then that's pretty much it on the parsing side.
Additionally, instead of for_each_tree, an on_changedtree callback via a recursive register_cbs could be used. It avoids the need to register autocommands, and should react to tree updates due to late injections parsing, for example.

I learned in working with conform.nvim that there are some injections that are "combined", meaning they merge all of their regions and therefore it is very difficult, maybe impossible, to determine where they are actually nested in the document.
A simple example is the comments in a markdown file:
text

<!-- comment -->

text

<!-- comment -->

If you open that in neovim and look at the tree in :InspectTree, you'll see that both of the comments appear at the top. I had to do some ugly work and access private APIs to work around this in conform.nvim https://github.com/stevearc/conform.nvim/blob/3fc2c956d99216b2816f07d2b946020ba2e02457/lua/conform/formatters/injected.lua#L107-L119
But if one were to use that same logic, it might be possible to create a nested list of symbols from the nested LanguageTrees.

I believe it can be simplified. For every symbol we know a starting position. By going up the LanguageTrees tree, smallest parent match contaning the starting position can be found, determining the placement of the match.
Problem is, this matching is expensive if performed naively, no matter which way we walk the parsers tree. I'm mulling implementing an interval tree just for this, but it will have to be well optimised - i.e. no linked lists etc. - in order to be fast on smaller trees.
To side-step the combined tree problem, it's possible to collect reports from LanguageTrees, group them by language, and show them one after another. Since the trees are traversed from top to bottom, if the grouping is filled as new parsers are encountered, the order of trees in the aerial view will make sense most of the time. Who knows, this might end up being the preferred view for most.
PS: If I say "tree" one more time...


Cloning the project on Windows platforms

The project cannot be cloned on Windows platforms, due to the ":" placed in the names of some folders (example path: plugins/caltack/static/attack-website/mobile/index.php/Manual:Copyright)

Hi @RalucaPreda,
We have removed the offending files in a recent update, however If you checkout previous commits you may still have an issue since we did not delete them from git history.


Block include transaction IDs flag

Closes #357
Description
Transaction IDs were no longer included in the block when using --include transactions flag. This is due to regression happening at some point. The mistake was that the flag was not passed to result object.

For contributor use:

[x] Targeted PR against master branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[x] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[x] Added appropriate labels

Codecov Report

Merging #358 (dfd2eaa) into master (c813372) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #358   +/-   ##
=======================================
  Coverage   52.99%   52.99%
=======================================
  Files          36       36
  Lines        1802     1802
=======================================
  Hits          955      955
  Misses        729      729
  Partials      118      118

Flag
Coverage Δ

unittests
52.99% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 c813372...dfd2eaa. Read the comment docs.


--project option outputs absolute paths

Bug Report

TSLint version: 5.7.0
TypeScript version: 2.5.1
Running TSLint via: CLI

Actual behavior
tslint --project . outputs absolute paths.
Expected behavior
Since --outputAbsolutePaths is not used, tslint should print relative paths.

I looked into this. When using --project we pass the ts.Program to the linter, which contains the source files with their absolute paths. These paths are used by the formatter to format the output.
Possible solution:

Always use absolute paths in runner.ts. (not strictly necessary, but would simplify a lot of other stuff, too)
Somehow pass an option to the Formatter whether it should print relative or absolute paths.

requires a change for custom formatters
option needs to pass though Linter

This absolute paths bug prevents from using tslint on VSCode running from a task, in the scenario where the tooling is ran in WSL and the editor in Windows. The output file paths are linux like paths, but the VSCode in Windows expects Windows formatted paths.

@akaztp that's probably better fixed in the formatter. What formatter are you using?

I solved my problem using a beta extension of tslint that uses the TypeScript language server plugin, so I don't need the output of the tslint as a task, anymore.
Nonetheless, I wondered around the Verbose Formatter code to evaluate the option to remove the current folder from the absolute paths. But that smells bad to me... And the bug reported in this issue would still be unresolved.

💀 It's time! 💀
TSLint is being deprecated and no longer accepting pull requests for major new changes or features. See #4534. 😱
If you'd like to see this change implemented, you have two choices:

Recommended: Check if this is available in ESLint + typescript-eslint ✅
Not Recommended: Fork TSLint locally 🤷♂

👋 It was a pleasure open sourcing with you!
If you believe this message was posted here in error, please comment so we can re-open the issue!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


Write user stories

This project should have user stories as requirements to drive the development. I suggest we use wiki as a single source of truth for the user stories. We can create issues with 'user story' label and link it to the wiki page for each of the user stories.
A user story typically follows a simple template:
As a type of user,
I want to perform some task
so that I can achieve some goal/benefit/value.
User stories need to be confirmed with the 3C guidelines below, suggested by Ron Jeffries:
Card: User stories are traditionally written on index cards or sticky notes, in short form. User narratives further explain these cards. Thus the main intention is to describe the user story in short form to allow common understanding of the user need among all stakeholders.
Conversation: User stories shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written.
Confirmation: Acceptance tests confirm that the story was delivered correctly.
Let us take an example.
User story title: Customer withdraws cash.
As a customer,
I want to withdraw cash from an ATM
So that I don't have to wait in line at the bank.
Acceptance Criterion 1:
Given that the account is creditworthy
And the card is valid
And the dispenser contains cash,
When the customer requests the cash
Then ensure the account is debited
And ensure cash is dispensed
And ensure the card is returned.
Acceptance Criterion 2:
Given that the account is overdrawn
And the card is valid,
When the customer requests the cash
Then ensure the rejection message is displayed
And ensure cash is not dispensed.

See more at: https://www.scrumalliance.org/community/articles/2013/september/agile-user-stories#sthash.vPvXdgBe.dpuf

We actually do have a label user story to mark a request as a user story. I'd prefer the wiki being used to explain about the feature of the system in form of user manual rather than user story.

No big deal. We can just use issues for the user stories and leave wiki as is for now.


Begin restructuring to allow optional DB

@dnldd and I agreed on restructuring dcrpool to easily allow postgres as a database option.  This issue serves to document this discussion.  The goal here is to provide a common interface to use for both boltdb and postgres databases.
dcrpool/pool/
             /errors
             /db/
                  interface.go
                  /postgres
                  /bolt

@dnldd  mentioned something to me whilst reviewing #207.
We have various entities which will need to be stored in the database, for example, shares and payments. These entities already exist as shares.go and payments.go. These files contain some oddities, for example share.go has methods Update and Delete which do nothing but return a "Not supported error" , payment.go has an Update method which does nothing but delegate to the Create method. I believe the idea is that each entity which is being stored in the database will have a common interface, which should make this task (#208) easier.
I disagree that these entities should require a common interface like this, and in fact they should not really contain methods like Create or Update at all . If the database is the thing which we are trying to abstract, it is the database which should have an interface, something like the following
type database interface {
    createShare(share) err
    retrieveShare(share) (share, err)
    deleteShare(share) (share, err)
    ... etc
}

I believe this is the pattern @githubsands describes above.
With this pattern, there is no need for "Not supported errors" or dummy methods. Instead, an unsupported or not required function would simply not exist in the database interface. The entities do not need to confirm to an interface, and they remain unaware of the database they are being stored in. The entities are simplified to focus only on their own fields and business logic.

#282 closes this.


Separate each isXXXXX into individual packages

Like

@core/unknownutil/is-any
@core/unknownutil/is-unknown
...

So that user can import minimum requirements. This change may cause the recommended style change (e.g. prefer isXXXXX over is.XXXXX)

#87


[as2_python_api] Fix follow path gps convertion

Basic Info

Info
Please fill out this column

Issue(s) this addresses
-

ROS2 version tested on
Humble

Aerial platform tested on
PX4

Description of contribution in a few bullet points

Fix follow path gps units convertion, from list to GeoPath

Codecov Report

Merging #164 (a2675cc) into main (1fb4266) will decrease coverage by 0.08%.
The diff coverage is n/a.

:exclamation: Current head a2675cc differs from pull request most recent head e23c31c. Consider uploading reports for the commit e23c31c to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff            @@
##            main    #164      +/-   ##
========================================
- Coverage   3.21%   3.14%   -0.08%
========================================
  Files         97      94       -3
  Lines       5004    4989      -15
  Branches     451     466      +15
========================================
- Hits         161     157       -4
+ Misses      4705    4678      -27
- Partials     138     154      +16

Flag
Coverage Δ

unittests
3.14% <ø> (-0.08%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

as2_core/src/platform_state_machine.cpp
42.42% <0.00%> (-13.14%)
:arrow_down:

...2_motion_controller/tests/find_mode_match_test.cpp
45.65% <0.00%> (-6.53%)
:arrow_down:

as2_core/src/utils/tf_utils.cpp
6.12% <0.00%> (ø)

as2_core/src/aerial_platform.cpp
0.00% <0.00%> (ø)

as2_core/src/utils/yaml_utils.cpp
0.00% <0.00%> (ø)

as2_core/include/as2_core/aerial_platform.hpp
0.00% <0.00%> (ø)

as2_core/include/as2_core/utils/yaml_utils.hpp
0.00% <0.00%> (ø)

as2_motion_controller/src/controller_manager.cpp
0.00% <0.00%> (ø)

as2_motion_reference_handlers/src/speed_motion.cpp
0.00% <0.00%> (ø)

...2_core/include/as2_core/platform_state_machine.hpp
0.00% <0.00%> (ø)

... and 39 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


How to change the color of hud's bezelView?

I tried like this:
"hud.bezelView.color = [UIColor darkGrayColor];"
or
"hud.bezelView.backgroundColor = [UIColor darkGrayColor];"
The color did change, but it does not match the actual color.
What else should I do?

https://github.com/jdg/MBProgressHUD/issues/439


coordinates not removed for variable encoding during reset_coords

What happened?
When calling reset_coords on a dataset that is loaded from disk, the coordinates are not removed from the encoding of the variable.
This means, that at save time they will be resaved as coordinates... annoying. (and erroneous)
What did you expect to happen?
No response
Minimal Complete Verifiable Example
import xarray as xr

dataset = xr.Dataset(
    data_vars={'images': (('y', 'x'),  np.zeros((10, 2)))},
    coords={'zar': 1}
)

dataset.to_netcdf('foo.nc', mode='w')

# %%
foo_loaded = xr.open_dataset('foo.nc')

foo_loaded_reset = foo_loaded.reset_coords()

# %%
assert 'zar' in foo_loaded.coords
assert 'zar' not in foo_loaded_reset.coords
assert 'zar' in foo_loaded_reset.data_vars
foo_loaded_reset.to_netcdf('bar.nc', mode='w')

# %% Now load the dataset

bar_loaded = xr.open_dataset('bar.nc')
assert 'zar' not in bar_loaded.coords, 'zar is erroneously a coordinate'

# %%
# This is the problem
assert 'zar' not in foo_loaded_reset.images.encoding['coordinates'].split(' '), "zar should not be in here"

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.

And if you want to have a clean encoding dictionary, you may want to do the following:
        for _, variable in obj._variables.items():
            if 'coordintes' in variable.encoding:
                coords_in_encoding = set(variable.encoding.get('coordinates').split(' '))
                remaining_coords = coords_in_encoding - set(names)
                if len(remaining_coords) == 0:
                    del variable.encoding['coordinates']
                else:
                    del variable.encoding['coordinates'] = ' '.join(remaining_coords)

While the above "fix" addresses the issues with renaming coordinates, I think there are plenty of usecases where we would still end up with strange, or unexpected results. For example.

Load a dataset with many non-indexing coordinates.
Dropping variables (that happen to be coordinates).
Then adding back a variable with the same name.
Upon save, encoding would dictate that it is a coordinate of a particular variable and will promote it to a coordinate instead of data.

We could apply the "fix" to the drop_vars method as well, but I think it may be hard (though not impossible) to hit all the cases.
I think a more "generic", albeit breaking" fix would be to remove the "coordinates" entirely from encoding after the dataset has been loaded. That said, this only "works" if dataset['variable_name'].encoding['coordinates'] is considered a private variable. That is, users are not supposed to be adding to it at will.

Kind bump

This is another motivating reason for #5082. It's too hard to keep attrs or encoding in sync given Xarray's data model.
Since encoding is frequently out-of-date, it just causes a lot of problems. In general, the advice is to manually set encoding if you care about how your dataset is written to disk.

Thank you for your explination.
Do you think it is safe to "strip" encoding after "loading" the data? or is it still used after the initial call to open_dataset?


fix(router): Only use unprivileged ports

Fixes #125
Strategic alternative to #126
cc @arschles

Nice to see no more use of setcap. LGTM


Import Ergonomics

🚀 Feature request
I find it hard to manually and automatically import functions, types and utilities.
Current Behavior
This is how a typical file of mine looks:
import { pipe } from 'fp-ts/lib/pipeable';
import { flow } from 'fp-ts/lib/function';
import { either } from 'fp-ts';
import { Either } from `fp-ts/lib/Either';

// weird use of proofs
either.either

const anEither: Either = either.right(5);

Desired Behavior
I'de like to find everything on the index:
import { pipe, flow, Either } from 'fp-ts';

// general name for proofs (I'm a noob, so maybe there's a better name
Either.proof

// Either is both the module and the type
const either: Either = Either.right(5);

Suggested Solution
It could be better to pascal-case all modules on index.ts, and to export all types, all function utilities and pipe.
Consider also to export very handy utilities like sequnce and traverse.
Who does this impact? Who is this for?
Tree shaking is not always relevant. In those cases I prefer ergonomics: auto-import should work like a charm and import should be grouped so it would be easy to manual import additional utilities.

It's already answered somewhere in issues. Long story short: It's already perfect except Webpack 4 will not tree-shake it properly. Webpack5 will.

It's already solved. Search in issues. Webpack 5 will tree-shake it properly.

What already solved? tree-shaking is not the issue here. Try to read the feature-request again and let me know if I wasn't clear enough.

@SRachamim Jeez, it's so hard to do what I recommend to you? Here is it: https://github.com/gcanti/fp-ts/issues/1185#issuecomment-613334914 The only problem is such importing is not properly tree-shaked with Webpack < 5 Now please say "Thank you" and close the issue. Thank you.

Hey, let's keep the conversation civil and on track, because it becomes kinda heated.
@gcanti what do you think about adopting a Code of Conduct, such as https://www.contributor-covenant.org?

@steida: what @SRachamim proposes is indeed a little bit more ergonomic than the current status quo outlined in the comment that you linked too, IMO. Consider that you won't need to choose between lib and es6 when confirming automatic imports, and won't have to import types and functions that operate on those types from different modules separately (import { either } from 'fp-ts' but import { Either } from 'fp-ts/lib/Either').

I wish the Code of Conduct contain "Please read already existing issues before asking, especially when someone already pointed you."
Can you please read the link I provided? Thank you.

@steida It's not hard to do what you recommend to me, it's just that I felt that my proposal wasn't clear enough.
The issue you linked to just talks about updating the documentation, while the current issue is a proposal to an entire shift in the import philosophy in the next major release.

It has been already discussed several times in the other issues.

@steida: what @SRachamim proposes is indeed a little bit more ergonomic than the current status quo outlined in the comment that you linked too, IMO. Consider that you won't need to choose between lib and es6 when confirming automatic imports, and won't have to import types and functions that operate on those types from different modules separately (import { either } from 'fp-ts' but import { Either } from 'fp-ts/lib/Either').

The problem with this is tree shakability, yes you wouldn't have to choose between es6 & lib but the advantage of using es6 is rendered useless by the missing deep scope analysis on the webpack < 5 & rollup shakers.
The best solution would be to expose modules like:
import * as E from "fp-ts/Either"
This is possible by exposing each sub-package with it's own package.json referencing the esm module in "modules" like many other libraries do (e.g. @material-ui/core, @matechs/core)
I think this should be evaluated for v3 given it is really a pain point having to choose manually (or perform import-path-rewrite like the ecosystem libraries are forced to do)

I think typeclass is the correct keyword here and the most suitable candidate I can conjure up.


Allow plugins to be restricted by an expression

Up until this point, we've recommended that folks concerned with security in the agent disable plugins because they could allow a variety of attacks, specifically:

Users could reference plugins that execute arbitrary code which might by-pass the --no-command-eval option set on the agent
Upstream plugin could be compromised and changed, which would result in a way to execute arbitrary code

We've recommended that people either disable them, or filter then with tools like https://github.com/buildkite/buildkite-allowed-plugins-hook-example.
This aims to use the Conditional language to allow folks to restrict which agents an agent will allow.
For example:
buildkite-agent start \
  --plugin-condition 'plugin.vendored == true ||
       (plugin.digest != "" && plugin.org == "my-org")'

Still WIP, but interested in your feels @toolmantim?

Still todo:

[ ] Conditionally allow plugins if --plugin-condition is set along side --no-command-eval (unless --no-plugins is also set)

This is a cool use of conditionals. The plugin JSON env var blob is a total pain to deal with in hooks (https://github.com/buildkite/buildkite-allowed-plugins-hook-example). This makes it way easier to create a list of allowed plugins yeah? Wonder what that looks like in this syntax?
All other security logic is currently done via hooks (e.g. https://buildkite.com/docs/agent/v3/securing) and boolean configs. Any thoughts on making some of that stuff able to be done via conditional logic too? Stuff like repos, teams, plugins, etc? I.e. are there more configs we should add with conditional style logic? Or you thinking everything else would stay as-is?
I think there’s another issue I was hoping to address, that wasn’t related to locked down agents: helping people move to a world where digests are required for github.com repos by default. That was probably by I was shooting for just a boolean config for it.

@lox feels on renaming to --allow-plugin-if ?

+1 - it reads more like authorization, then.


[HALON-535] Don't run SSPL RaidAdd concurrently

Created by: Fuuzetsu
It could happen that both replace and failure rules would attempt to add
the same device to an array concurrently. While removing the command
from one rule and not the other would be difficult (to test mostly:
there are multiple code paths and entry points), we can solve it by
introducing a job which does the insertion.
This way both rules are free to run concurrently without any issue or
bad interleaving.
--
untested on cluster

Closing as an obsolete


Template literal not accepted

Hi,
here an example of code
 export const AnchorWrapper = styled.div<{ selected: boolean }>
box-sizing: border-box;
width: fit-content;
${({ selected, theme: { colors, mediaQueries } }) =>
mediaQueries?.isMobile
? css          display: flex;           flex-direction: row;           align-items: center;           padding: ${pxToRem(8)} 0 ${pxToRem(8)} ${pxToRem(16)};           border-left: ${pxToRem(3)} solid             ${selected ? colors.lightAccentDefault : colors.neutral300};
: css          height: ${pxToRem(56)};           display: flex;           flex-direction: column;           justify-content: space-between;           align-items: center;           padding: ${pxToRem(21)} 0 ${pxToRem(14)};           gap: ${pxToRem(4)};        }
;
and this is the error on returned
`ERROR in ../ui/build/src/atoms/Anchor/styles.js
Module build failed (from ../../node_modules/babel-loader/lib/index.js):
Error:  prj/ui.frontend/packages/ui/build/src/atoms/Anchor/styles.js: There was a problem adding namespaces to this CSS in the file prj/ui.frontend/packages/ui/build/src/atoms/Anchor/styles.js. Error: :6:3: Unknown word
CSS:
box-sizing: border-box;
width: fit-content;
fake-element-placeholder-0
`
any known solution?

could be an incorrect syntax error on your css
might want to check that


⚠ Turnos 24x7 has degraded performance

In 9129610, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1641 ms

Resolved: Turnos 24x7 performance has improved in d660963.


Comparison experiment code request

The comparative experiment is very wonderful. Can you share the code of the comparative experiment, including segmentation-based (Seg-UNet, Seg-DRM, Seg-Improved, Seg-DLA, Sat2Graph) and graph-based (Road-Tracer, RNGDet, RNGDet++)? I would greatly appreciate it.

I cited the baseline numbers from the RNGDet++ paper. Can you reach to the auther of that? In addition, if you are experimenting a new method I don't believe you have to run all these baselines as many of them are quite outdated I would say.

closing, ff to reopen.


Add savecopy command to grimshot

This builds on the work done in swaywm/sway#5919 and swaywm/sway#7328 to add a grimshot command that both saves the screenshot to a file and copies the screenshot to the clipboard.

Thank you!


GH-38706: [C++][Python] Add wrap/unwrap bindings for pac.Declaration, pac.ExecNodeOptions, and pc.Expression

Rationale for this change
I'm a heavy user/creator of custom Acero nodes for my own use cases. I am a big fan of wiring the actual graph using pyarrow since it's way easier to prototype DAGs in python. The interface for a Declaration is:
class pyarrow.acero.Declaration(factory_name, ExecNodeOptions options, inputs=None)

While the stringified factory makes it possible to create a custom node in Python, if I create custom options, it's impossible to do so, since the API requires an actual options instance.
This PR adds C++ wrappers for:

acero.ExecNodeOptions to address the immediate issue above
acero.Declaration, for good measure, though the factory API above is probably sufficient for interop of custom C++ nodes with pyarrow.
compute.Expression, since lots of options take Expressions  (example)

What changes are included in this PR?
This PR had some challenges. _compute.pxd and _acero.pxd are separate modules than the top-level pyarrow lib, and cimport objects from it. This means that you can't actually put compute/acero wrappers in lib.pxd, since you create a circular dependency. To address this, I created:

lib_acero.{pxd,pyx}
lib_compute.{pxd,pyx}

This is complicated by the fact that libraries like acero are optional, and just because the C++ library was compiled with ARROW_WITH_DATASET/ARROW_WITH_ACERO, doesn't mean that PYARROW_BUILD_DATASET/PYARROW_BUILD_ACERO were enabled--the pyarrow compilation flags just need to be a subset of the C++ compilation flags.
To address this, I created pyarrow_config.h.cmake, which captures build flags similarly to cpp/util/config.h.cmake.
This lets us conditionally declare/define arrow::acero wrappers/unwrappers in pyarrow.{h,cc}. This technique could certainly be used for other optional modules like dataset, gandiva, etc. too, but I'm just scoping this to acero/compute for now.
Are these changes tested?
You can see an e2e demo here: https://github.com/JerAguilon/arrow_wrap_unwrap
Happy to take input on how to test this on this repo, if there is interest.
Are there any user-facing changes?
Yes, users will now be able to wrap/unwrap the objects mentioned above.

Closes: #38706

Note that this PR also partially closes issue https://github.com/apache/arrow/issues/36429, specifically for Expression. There are some objects that I am not covering here, but PR https://github.com/apache/arrow/pull/36430 can rebase on top of this to get the other objects. https://github.com/apache/arrow/pull/36430 is failing to build right now due to some of the circular dependency issues I described and solved in this PR.

Not sure who to ping for feedback on this PR, perhaps @pitrou  / @danepitkin ?

cc @jorisvandenbossche

@jorisvandenbossche Can we get this PR reviewed?

@jorisvandenbossche @pitrou  any chance we can get this reviewed? Would love to use this on mainline arrow.
BTW: I've added an e2e demo in examples/ to exercise wrapping/unwrapping in general.

@jorisvandenbossche @pitrou Another bump

Some further suggestions:

can you please rebase on the latest git main?
instead of adding a standalone example, perhaps add a test in test_cython.py?
the new APIs should be documented in https://arrow.apache.org/docs/python/integration/extending.html

@JerAguilon Are you still working on this? Cause my PR is dependent on this, so I'd like this available if possible. Happy to help any way I can.


is any option to post https request with client certificate as pfx and passphrase

Kindly suggest any work around to post https request with client certificate as pfx and passphrase

Hi @SSathish89 , I have done some research on this issue.
LLRT currently relies on rustls_pemfile crates. A rustls_pemfile crate does not support pfx files, only pem files can be specified. Can we consider the possibility of extracting the desired certificate from a pfx file and using it as a pem file?
https://github.com/awslabs/llrt?tab=readme-ov-file#llrt_extra_ca_certsfile

@SSathish89 did this solve your problem ☝


Update recommended-on-premises-live-encoders.md

@Juliako : Thanks for your contribution! The author, @johndeu, has been notified to review your proposed change.

@Juliako - can you resubmit this to the private repo? thanks!


Fixed dependency library for pubsub-1.1 plugin

Added Library which was missing during the plugin installation for GCP-Pubsub-1.1
Fixed image for pubsub

Please remove all the unrelated changes from your PR. Please stick the change to the plugin you own.
A little advice is to always create a separate branch per-PR, this way it is easier to fix everything, without recreating PRs.


Annotated Services with arbitrary type parsers

In Armeria there is a very hardcoded list of allowed parameter types in e.g. path and query (basically enums + boxed primitive types). While this list can always be handled in the service implementation by manually transforming the type from String, it makes the method signature less explicit. Compare the information you get from Long vs CompanyId just by the type.
In Jersey/Jaxrs (which we still use in some places), they have the same limitations but also use reflections to allow any type which have a single string constructor or single string method fromString(String). I'm assuming they picked this to avoid collision with valueOf(String), but their exact reasons are not known to me.
My suggestion is that Armeria can fall back to something similar (constructor/method) that has to exist on the class.

This is related to #2573

We could do two things:

Allow a user specify value converters. It's currently hard-coded: https://github.com/line/armeria/blob/7f263ac107544d3f010a82e9f182df4d875bfcc1/core/src/main/java/com/linecorp/armeria/internal/server/annotation/AnnotatedServiceTypeUtil.java#L40-L75
Add a built-in fallback converter that tries the static factory methods named of(String), valueOf(String) and fromString(String).

@tobias- What kind of collision would valueOf(String) cause?

@tobias- What kind of collision would valueOf(String) cause?

Having a "web-converter" from Enum-classes comes to mind, but like I said, their reasons are not known to me.

I think this issue can be done in two steps.

Write the conversion code that looks up and invokes the static factory methods such as fromString(String) or the constructor with a single String parameter. Add it into supportedElementTypes.

At this point, we can close #2574 (this issue).

Introduce ParamConverterFunction to make parameter conversion extensible. (#3140)

At this point, a user can define his or her own converter function. For example:

A user can define a converter that converts a single query parameter into a List<String>. It's currently not possible to do this because the handling of List is hard-coded as documented here (Find 'multiple'.)
A user can define a converter that converts a query parameter into a custom type FooBar.


Fixed the problem of rancher server crash

Problem:
Rancher will crash when deleting an existing GKE cluster
Solved:
Fixed the code bug
Issue:
https://github.com/rancher/rancher/issues/18103

LGTM


Filters from previous selection

I have 5 charts in a dashboard, one is Ring Chart by MAQ Software  another 4 is Line and Clustered Column chart  when I select any value in first chart (Ring Chart) chart, rest all 4 charts got filtered which is fine, but when I selected another data from 2nd chart (Line and Clustered), the 2nd chart got back to the original stage which I didn't expected.
Thank you in advance :)

Thanks for your comment, @ArpithaGMGowda.
This looks like a support request or product question rather than documentation feedback.
You might find a solution in the Power BI Community. If not, try our support page.


Rewrite frontend

Hello!
I’ve been using Gitea for about 3 months and lately I’ve been looking at the frontend. Comrades, it seems he has lagged behind what they are doing now.
I am a front-end developer and in my free time I can do rewriting the front-end to a modern technology stack, which will be much easier to maintain.
I am going to use the API, but I think it will not be enough for my tasks. I ask the help of the community in developing additional API methods upon request for the normal functioning of the frontend.
I am going to use webpack, react, redux and typescript for frontend development. I think this should be a quick SPA. My main task is to separate the frontend from the backend to adequately support all this in the future.
What do you think about this feature? I am waiting for a community reaction in order to understand if this is necessary.

I'm just watching from the sideline, but:

My main task is to separate the frontend from the backend to adequately support all this in the future.

seems like a great design objective for Gitea (maybe it already is? if so, this is a good test) ... even if the end result is that the existing front-end stack is kept.

This is long running task. If you want to have a look at it I highlight two point you may haven't foreseen :

We use Vue instead of React.
Some user disable JS so the UI need to also be accessible without it. Maybe we can have two front-end (similar to what does gmail).

I prefer use vue/vuex/vue-cli and removed all server-side template rendering.

@sapk, @lunny, why do you want to use vue instead of react? We can render react at the server (if user disable JS).

AFAIK, it was related to react license and better knowledge of vue by maintainers.
For server side rendering of React, I am curious of what lib you use in Go to do that. Server side of vue is also possible but I don't think with a go implementation.

I would make frontend and backend as two parts. Backend we will use golang as before, frontend we should use vue/less as before. :)

I would prefer React/Preact or even Svelte over Vue. By doing so, you are likely too see more frequent front-end contributions from others.

I would rather we use Vue. Vue is pretty easy to pick up for new and seasoned developers and it doesn't try to stray too far outside handling the view.
In terms of contributions from others, it seems like vuejs/vue has more starts than facebook/react. Although, that's sometimes not a good comparison and according to GitHub's Used By, React is far more common.
The size of the Preact and Svelte projects do give some pause but I'd say they are big enough that it doesn't count them out.
Also, Gitea was forked in part due to not enough community say. Vue, while still being kind of a BDFL, is a far more community based than React or even Angular -if that was on the table- while still being large enough that we can be sure it will continue for a while.
With regards to the license, React is now MIT Expat licensed instead of whatever that BSD modified license was but with the CLA that gives Facebook the ability to relicense future versions of the framework, I'd still call it cause for concern.
Also, personally, I work with Vue a lot more often as a few of my open source projects and others I contribute to use Vue. :smile: I've never used React in an OSS project but that may just be the projects I tend to contribute to.
If we decide Vue, I'll make a pr for compiling Vue with Webpack and SFC.

I don't follow your first point, because "handling the view" is all that React does.
To be fair, Vue also leads React by that 1% for the most dreaded category.
React leads by 5% for most wanted. They don't give info on the standard deviation but I'd wager these differences are not statistically significant.
Because you are using Semantic UI, there is the Semantic UI React project that has a lot of big contributors. So that is one big selling point.
As someone who has used both, React definitely has the edge in terms of developer grok speed. This is because it doesn't really add any new directives, whereas Vue has a mess of "v-if" among others that are not immediately intuitive.
I expect Vue's popularity will die off as more people switch to React or its lighter Preact cousin. The reason I say this is because Vue invents its own template language that must be learned.  Meanwhile, React is just JS. With React you also get JS-in-CSS, something that provides a much better experience than using less.
I mentioned Svelte because its syntax is similar to Vue that the maintainers are familiar with but is the fastest modern framework for a fresh (or unfamiliar) developer to grok. Though I have much more investment in React, Svelte is on my list to build something with.
For on-demand SS Rendering, you'll have to use a node sidecar container as JavaScript has to be evaluated regardless.
I'll offer a PR for webpack and React.

@gary-kim PR is welcome.I never used react so I cannot compare the two. I have used VUE ever and I like VUE too.

@brandonkal We have already used some vue components. So I think convert to react may need more work. Why not just vue? Any obvious problem of VUE?

I'll sum my preferences for React:

Easier to understand. It's just code. It doesn't put an artificial boundary between its templating language and JavaScript.
More contributors likely (including myself and OP)
You can ditch jQuery entirely and use React Semantic UI for component logic. Doing the same for Vue would be a monumental task.
Productive CSS-in-JS options such as Styled Components or my own brandonkal/linaria for zero-runtime.
Removing the build complexity of less because of the above (though with my lib it can be slowly phased out)
A simple path to a native phone app
The effort to move to Vue SFC would be about the same as to React components
More open source components
Larger community. More than 2x last time I checked
Better typescript integration and testing. Even without typescript, this means a more productive IDE experience.

I bring this up because the refactoring effort would be about the same so now would be the time. Personally I have tried and used Vue a few times and it has never clicked.
I'd be interested in seeing a poll.

I'd prefer any path that uses typescript over one with javascript. IMHO, strongly-typed TypeScript naturally leads to better modularized and structured projects. This is helpful for the occasional contributors because it's easier to get a grasp of the project wherabouts.
I don't mean to start a JS vs. TS debate, as I don't have enough real-world experience with any of those, and I know that JS (with JS Doc for example) can do most of the things TS can, but it becomes too discretionary for my liking; it's like "I don't need to JS Doc this function" or "I'll do that later"; if you need to enforce that with code policies, why not just do it at the language level? It's my humble opinion.

@guillep2k brings up a very important point. TypeScript has been massively helpful in improving productivity. As long as you don't enable 'noImplicitAny' and some of the stricter options, TS does not get in the way. Type inference with JSX works really well.
Because JSX is JavaScript sugar for calling a function, TypeScript and babel support is much better and natively supported by the TypeScript project. JSX is a nice shared syntax between various libraries and because it is just JavaScript, tooling support is greater.
Completely type-checking Vue won't be possible until and only if Vue adopts HTMLx and the TypeScript teams adds native HTMLx support. I really do want this to happen, but something like that is likely years out and a chicken-and-egg scenario. Vue has JSX but it is a second-class citizen.
Some other points:

Smaller API surface: Fragments, createContext, and Hooks. That's all you need to know. Vue has a vast amount of component options, instance properties, template directives, slots, and its own event listening syntax to remember.
Favors functions over classes
Fragments mean you are not limited to returning exactly one DOM node in a component. This means no div soup and more semantic HTML and better CSS grid support.

To @lunny if you are interested in experimenting with React on your own, I can recommend this project. It was the project where React clicked for me, and I find it rather intuitive.
Anyways, I believe this is enough info for a decision to be made. I would recommend React/Preact with TypeScript + Semantic UI React.

To be honest I have used quite much both Vue and react and coming form angular to react and later to Vue, I can say that Vue is so much easier to use and so much cleaner and lighter that I would really hate to see react being used in this project

Also we should really move away from semantic UI because it is quite awful css framework with lot of !important usage

Thanks all for the feedback. I've locked this issue as it has gathered all the information needed, and  we will go from there.
As the project is currently using Vue, and it has the maintainer team has most experience with that we will continue to use it. However we are certainly always working on improving the API so that alternate SPAs are possible. I know there are already some people already doing that (sadly their implementations are not open, otherwise I would link them here).

Outdated ....


Anasible-playbook is not installed in the openpai/dev-box:v1.7.0 container

Organization Name: Hangzhou Innovation Institute, Beihang university

Short summary about the issue/question:
I follow the tutorial to use the dev-box:v1.7.0 container  and add nodes to cluster. It  display the following error
2021-06-16 11:01:24,317 [INFO] - deployment.paiLibrary.paiOrchestration.change_node : Begin to add nodes: pai-worker3,pai-worker4
/bin/sh: 1: ansible-playbook: not found
2021-06-16 11:01:24,320 [ERROR] - deployment.paiLibrary.common.linux_shell : Failed to add nodes: pai-worker3,pai-worker4
Traceback (most recent call last):
File "./paictl.py", line 107, in
main(sys.argv[1:])
File "./paictl.py", line 99, in main
parserd.handler(parserd)
File "/pai/deployment/nodeCmd.py", line 49, in _add_node
change_node.ChangeNode(args.kube_config_path, args.silence).run(mode="add", node_list=args.node_list)
File "/pai/deployment/paiLibrary/paiOrchestration/change_node.py", line 61, in run
error_msg="Failed to {} nodes: {}".format(mode, node_list_string)
File "/pai/deployment/paiLibrary/common/linux_shell.py", line 31, in execute_shell_raise
subprocess.check_call( shell_cmd, shell=True )
File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'cd /tmp/.kubespray-a11Wxm && export ANSIBLE_DISPLAY_OK_HOSTS=yes && export ANSIBLE_DISPLAY_SKIPPED_HOSTS=yes && export ANSIBLE_CALLBACK_WHITELIST="profile_tasks" && ansible-playbook -i /tmp/.pai-config-eSwk8o/hosts.yml scale.yml -b --become-user=root -e @/tmp/.pai-config-eSwk8o/openpai.yml --limit=pai-worker3,pai-worker4' returned non-zero exit status 127
2021-06-16 11:01:24,336 [INFO] - deployment.paiLibrary.paiOrchestration.temp_kubespray : Remove temporary downloaded Kubespray folder
2021-06-16 11:01:24,356 [INFO] - deployment.paiLibrary.paiOrchestration.temp_config : Remove temporary config folder
Brief what process you are following:

How to reproduce it:

OpenPAI Environment:

OpenPAI version: v1.7.0
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release): ubuntu 1604
Kernel (e.g. uname -a):
Hardware (e.g. core number, memory size, storage size, GPU type etc.):
Others:

Anything else we need to know:

I installed the service manually with the following command
apt-get update
apt-get install software-properties-common
apt-add-repository --yes --update ppa:ansible/ansible
apt-get install ansible

and the next operation encountered the following problems:
> TASK [kubernetes/preinstall : Check that kube_service_addresses is a network range] *************************************************************************************************
> Wednesday 16 June 2021  11:25:57 +0000 (0:00:00.045)       0:00:10.571 ********
> fatal: [pai-worker3]: FAILED! => {"msg": "The conditional check 'kube_service_addresses | ipaddr('net')' failed. The error was: The ipaddr filter requires python's netaddr be installed on the ansible controller"}

@hzy46 @suiguoxin Can you help to take a look?

@guningbo Are you performing these operations in the dev box docker container  ?

@guningbo Thank you for raising the issue. It is a known problem that our docker image needs to be updated. But we may not be able to fix it recently.
You can try installing ansible-2.9.7 in the dev-box docker container using following commands:
apt-get update
apt-get install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt update
apt install python3.6
rm /usr/bin/python3
ln -s /usr/bin/python3.6 /usr/bin/python3
python3 -m pip install pip==20.3.4
python3 -m pip install ansible==2.9.7


Can't update from v0.71.0

Microsoft PowerToys version
0.71.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
I have v0.71.0 running under Windows 10 Home 22H2. It's telling me that an update is available but when I try to do that the update fails. The message I get is that this is beacuse the installer can't find 'PowerToysSetup-0.70.1-x64.msi' in the C:\ProgramData\Package Cache folder. Looking in that folder I can only see 'PowerToysSetup-0.71.0-x64.msi' which is what I would expect given that I'm running v0.71.0.
I've tried to unistall PowerToys from Settings but that also fails with the log file (attached) it generates seemingly showing that it's trying to uninstall V0.70.1. I've checked the properties of PowerToys.exe and that has a file and product version of <IP_ADDRESS>.
Can anyone advise how to resolve this anomoly please.
powertoys-bootstrapper-msi-0.70.1_20230918160537.log
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

Problem solved by using the Microsoft Program Install and Uninstall troubleshooter. Could then uninstall what seems to have been a hidden copy of v0.70.1 which allowed the update to v0.71.0 to run.


Announcing a new way to give feedback on Microsoft Learn

Coming soon: In March 2024, we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.

That's sad news for people who work with the Graph API every day and are willing to sacrifice their free time reporting issues to make the docs better. On the other hand, I understand the decision.
Have you ever tried a new feedback system? Believe it's not very user friendly.

In my opinion that is not good news.
As someone who works with GitHub everyday, I don't need yet another way to raise issue/feedback.

@scott-doyland-burrows According this: https://learn.microsoft.com/en-us/contribute/content/provide-feedback

The feedback you provide is anonymous, and Microsoft doesn’t collect personal data from your submission. In the new experience, feedback isn’t publicly visible to ensure customer privacy. You won't receive a response after you submit your feedback.

We can only hope that the feedback will be processed.

This is very sad. How will i keep track of if my feedback has made an impact. Or see if other users are expiriencing the same issue.

This is a tremendous loss. I can't tell you how many times I've told colleagues and clients how innovating Microsoft documentation is for keeping it open to honest feedback from users. This is a step backwards, making Azure documentation less competitive against AWS and GCP.