include surrounding whitespace

This is an initial attempt to handle preceding/succeeding whitespace of textobjects and I'm looking for feedback. Initially mainly about the behaviour, which is opt-in. I think the current implementation can be made much better but that's a second question and I would first like to know if this makes sense :)
What this change does is that if the user enables it, it expands any textobject to include preceding or succeeding whitespace. It always tries to include any preceeding whitespace and if there is none instead tries to include succeeding whitespace (but never both). The ides is that it would work much like eg the built-in aw, ap etc. See the following screencast for a more concrete view:
https://user-images.githubusercontent.com/23341710/181994568-52c018b8-861d-4ec9-a2e9-847e88100e88.mp4
The implementation is currently very simple and probably quite inefficient since it just tries to walk one character backward of forward and see if there is more whitespace to consume. Maybe one could use a regex or so instead. I also considered using ts_utils.get_previous_node and use the end of that for the start of the current node, but that doesn't work so well if you're for example selecting the first argument to a function.
Related #69

One detail, I don't know whether this matters but the built-in ap select for me following empty lines vs the previous empty lines of this PR. I don't know whether it is important to be consistent with the built-in behavior.

good point @theHamsta! I changed it to instead prefer succeeding whitespace :+1:

Thank you!

This is really great! You're comparing af with ap which makes sense to me, but after trying this out I noticed that there's one thing that's inconsistent with af compared to ap. Pasting with p on the empty line between paragraphs after doing dap correctly places the paragraph, leaving one empty line above and below.
However, doing daf and pasting on an empty line between functions leaves no empty line above and two below.
Here's a simple example to illustrate:

local function f1() end

local function f2() end

local function f3() end

With the cursor on f1()'s line, doing daf, then } to move to the empty line between f2 and f3, and then doing p leaves this:

local function f2() end
local function f1() end

local function f3() end

Doing the same thing with dap instead we would get this:

local function f2() end

local function f1() end

local function f3() end

Both ap and af include the whitespace below, but ap does it line-wise, while af does it character-wise. One solution would be for af to select the whitespace above instead. And in the case where we're doing af on an anonymous function, we could still select the whitespace below as we do now.

Hi @melkster! This is a good point and something I thought about but wasn't fully sure how to handle. Indeed, ap is line-wise but af is by default char-wise, which probably makes sense since in many languages, functions are not necessarily restricted to lines. But in some cases I'd rather have it line-wise (for example in python), which is why I made https://github.com/nvim-treesitter/nvim-treesitter-textobjects/pull/70. However, I realise now that it is not completely clear to me how these two settings should work together. I'll try to think a bit more about your suggestion above.

Oh, I didn't know about #70, is that disabled by default? I tried doing this
require('nvim-treesitter.configs').setup({
  textobjects = {
    select = {
      selection_modes = {
<EMAIL_ADDRESS>= 'v',
<EMAIL_ADDRESS>= 'V',
<EMAIL_ADDRESS>= '<c-v>',
      },
    },
  },
})

but af still seems to only be character-wise. I tried it in Lua, TypeScript, Python and Java.

How are you trying this? Note that this setting is just for operator pending mode for now and not for visual mode. So if you do vaf you'll still get charwise but if you do Vaf you'll get linewise. The difference if you do eg daf or similar. Does that make sense?

@AckslD Aha! Yes, I was mainly using vaf. vap switches from character-wise to line-wise regardless of which kind of visual mode you're in, and so I just assumed that vaf did that as well.
With the config above daf works for me for functions that are in the top-level, i.e. not inside a class or similar. Perhaps this discussion is more appropriate to have in #70, but maybe it should also be possible to configure methods to also be line-wise? I.e., to support something like this:
require('nvim-treesitter.configs').setup({
  textobjects = {
    select = {
      selection_modes = {
<EMAIL_ADDRESS>= 'V',
      },
    },
  },
})

What do you think?

@melkster, what exactly is not working for methods, it doesn't use linewise mode? And it the above config snippet not working?

@AckslD Yeah, sorry I wasn't very clear about what I meant. For methods, daf still is character-wise. I also tried adding the keymap ['am'] =<EMAIL_ADDRESS>like so:
require('nvim-treesitter.configs').setup {
  ensure_installed = 'all',
  textobjects = {
    select = {
      keymaps = {
        ['af'] =<EMAIL_ADDRESS>        ['if'] =<EMAIL_ADDRESS>        ['ac'] =<EMAIL_ADDRESS>        ['ic'] =<EMAIL_ADDRESS>        ['am'] =<EMAIL_ADDRESS>        ['im'] =<EMAIL_ADDRESS>      },
      selection_modes = {
<EMAIL_ADDRESS>= 'V',
<EMAIL_ADDRESS>= 'V',
<EMAIL_ADDRESS>= 'V',
      },
    },
  },
}

But dam does nothing (i.e. nothing happens).

No problem @melkster! Was just making sure I understood what you meant :) I see, this seems to be a separate issue, if how to have a text object for methods, rather than how to select linewise? For which language is this btw?

@AckslD The languages in which I've reproduced this issue with methods are TypeScript, JavaScript, Python and C++.
I noticed now however that they seem respect my line-wise configuration, but the problem is that they include one line too many, resulting in the first line of the method below them being included in daf as well.

@melkster Yes I think this is the combination of include_surrounding_whitespace and linewise mode is not really supported atm. We might need to check what the mode is before including the surrounding whitespace to know what to do.

@melkster I think this should be fixed now in #258. Feel free to try it out and let me know.

@AckslD I seem to be having the same problem after updating :thinking:
This is my config:
require('nvim-treesitter.configs').setup {
  ensure_installed = 'all',
  textobjects = {
    select = {
      enable = true,
      include_surrounding_whitespace = true,
      keymaps = {
        ['af'] =<EMAIL_ADDRESS>        ['if'] =<EMAIL_ADDRESS>      },
      selection_modes = {
<EMAIL_ADDRESS>= 'V',
<EMAIL_ADDRESS>= 'V',
      },
    },
  },
}

I tried in the previously mentioned languages.

What is the problem exactly? Is it

but the problem is that they include one line too many,

? Using daf, vaf or Vaf?

@AckslD Correct 🙂

@AckslD Using the following config:

Click to expand
-- Ignore default config and plugins
vim.opt.runtimepath:remove(vim.fn.expand('~/.config/nvim'))
vim.opt.packpath:remove(vim.fn.expand('~/.local/share/nvim/site'))

-- Append test directory
local test_dir = vim.fn.expand('~/code-other/nvim-test-config')
vim.opt.runtimepath:append(vim.fn.expand(test_dir))
vim.opt.packpath:append(vim.fn.expand(test_dir))

-- Install packer
local install_path = test_dir .. '/pack/packer/start/packer.nvim'
local install_plugins = false

if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
  vim.cmd('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path)
  vim.cmd('packadd packer.nvim')
  install_plugins = true
end

local packer = require('packer')

vim.g.mapleader = ' '

packer.init({
  package_root = test_dir .. '/pack',
  compile_path = test_dir .. '/plugin/packer_compiled.lua'
})

packer.startup(function()
  function Use(module)
    use(require(string.format('configs.%s', module)))
  end

  -- Packer can manage itself
  packer.use 'wbthomason/packer.nvim'

  use { 'nvim-treesitter/nvim-treesitter',
    run = ':TSUpdate',
    requires = 'nvim-treesitter/nvim-treesitter-textobjects',
    config = function ()
      require('nvim-treesitter.configs').setup {
        textobjects = {
          select = {
            enable = true,
            include_surrounding_whitespace = true,
            keymaps = {
              ['af'] =<EMAIL_ADDRESS>              ['if'] =<EMAIL_ADDRESS>            },
            selection_modes = {
<EMAIL_ADDRESS>= 'V',
<EMAIL_ADDRESS>= 'V',
            },
          },
        },
      }
    end
  }

  if install_plugins then
    packer.sync()
  else
    -- load plugins at your earliest convenience
    vim.defer_fn(function()
      vim.cmd('doautocmd User LoadPlugins')
    end, 1)
  end
end)

vim.o.termguicolors = true
vim.keymap.set('n', '<c-q>', '<cmd>qa<cr>')

Steps to reproduce:

:TSInstall python

Restart Neovim (not sure if this is strictly necessary)

Create the following file foo.py:
class test:

    def foo():
        pass
        return "foo"

    def bar():
        pass
        return "bar"

> nvim foo.py

With the cursor on the first pass in the function foo() (or anywhere else in foo()), do daf

This produces the following:
class test:

        pass
        return "bar"

But I expect this to happen:
   class test:

       def bar():
           pass
           return "bar"

Thanks @melkster, this is helpful! I can confirm that I can reproduce the issue, I'll try to see what is going wrong.


Merge branch-24.06 into main [skip ci]

Change version to 24.06.0
Note: merge this PR with Create a merge commit to merge

build

build

Good to [skip ci] as there're only docs update since last build PASS:


Update not working

Describe the bug
Tried to update the plugins automatically and it just crashes
To Reproduce

Have the plugins installed (check image below)
Do check all to see what plugins need to be updated
Do update all to update all the plugins

Expected behavior
The app should update each plugin automatically
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 20.04 (5.4.0-77-generic)

Additional context
This was done on a normal paper server, which should in theory work

Hey @nathanielcutajar,
i just released an update which fixes your issue.
Download the new version and you are good to go: v1.6.5
Thank you for flying with pluGET 🚀


write readme file function

create a function that will write a readme file in index.js

DONE! Fixed the issue with the license no displaying badge and not rendering link.


Problem is, VSCode is doing this for every single file, not just *.md files.
This is highly annoying and I have tried to turn it off with no success.
This has been happening ever since I updated to the latest version of visual studio code 1.48.2. i.e.
Version: 1.48.2 (system setup)
Commit: a0479759d6e9ea56afa657e454193f72aef85bd0
Date: 2020-08-25T10:14:14.576Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT ia32 10.0.19041

VS Code version: Code 1.48.2 (a0479759d6e9ea56afa657e454193f72aef85bd0, 2020-08-25T10:14:14.576Z)
OS version: Windows_NT ia32 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU           X5690  @ 3.47GHz (12 x 3458)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.98GB (21.29GB free)

Process Argv
.

Screen Reader
no

VM
0%

Extensions (10)

Extension
Author (truncated)
Version

vscode-instant-markdown
dba
1.4.5

xml
Dot
2.5.1

vscode-edit-csv
jan
0.4.2

vscode-docker
ms-
1.6.0

csharp
ms-
1.23.2

python
ms-
2020.8.109390

cmake-tools
ms-
1.4.2

cpptools
ms-
1.0.0

sqltools
mtx
0.23.0

cmake
twx
0.0.17

/needsMoreInfo does the problem also happen if you reload with all extensions disabled?

How do I disable all extensions? Oh nevermind I see now (one by one).
Ok, that did it:
Found the offending extension: 'Instant Markdown version 1.4.5`
It's gonno! see ya later 'Instant Markdown'!!


Same fixture for more testing classes

My fixture looks as follows:
[DisableWafCache]
public class SepukuFixture : AppFixture<Program>
{
    private SepukuDbContext? _context;

    protected override void ConfigureServices(IServiceCollection s)
    {
        var descriptor = s.SingleOrDefault(d => d.ServiceType == typeof(DbContextOptions<SepukuDbContext>));
        if (descriptor is not null)
        {
            s.Remove(descriptor);
        }

        s.AddDbContext<SepukuDbContext>(options =>
           options.UseSqlite("DataSource=file::memory:?cache=shared").UseLazyLoadingProxies());

        _context = s.BuildServiceProvider().GetService<SepukuDbContext>();
        if (_context is not null)
        {
            _context.Database.OpenConnection();
            _context.Database.EnsureCreated();

            SeedDatabase();
        }
    }
}

I am trying to use the fixture in more testing classes, however I am getting the error that data are already in db. How to solve this issue? I tried to add method TearDownAsync, but it is executed after each test, not after testing class is done. I also tried to add condition _context is null int method ConfigureServices, but without any impact.

sorry about the delay. i tried to replicate this with the limited context provided above but could not.
can you throw together a small repro project and attach here pls?
thanks!


Slayer almost here!

Description:
Basically finished slayer, just needs a little more polish and maybe a few more features.
Other checks:

[x] I have tested all my changes thoroughly.
Well as thoroughly as I can haha, got most of the bugs, we're still gonna have to test with a few more ppl

closing because new pr


Two ContextLoadingTests fail with DirectoryNotFoundException when running tests by dotCover

The tests are LoadContextFromStreamLoadedShouldNotBeStuckForever and     LoadContextFromStreamLoadedShouldNotFaceBufferTooSmall and they both fall with the similar exception, only the file name differs:
System.IO.DirectoryNotFoundException : Could not find a part of the path 'C:\Users\HellBrick\AppData\Local\Temp\alby2xhq.a1k\aqkizyvj.bqc\AngleSharp.Core.Tests\assembly\dl3\Resources\kommersant.ru-1.res'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.File.InternalWriteAllBytes(String path, Byte[] bytes, Boolean checkHost)
   at AngleSharp.Core.Tests.External.PageRequester.<AddResourceAsync>d__6.MoveNext() in F:\Software\AngleSharp\src\AngleSharp.Core.Tests\External\PageRequester.cs:line 59
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at AngleSharp.Core.Tests.External.PageRequester.<PerformRequestAsync>d__4.MoveNext() in F:\Software\AngleSharp\src\AngleSharp.Core.Tests\External\PageRequester.cs:line 29
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at AngleSharp.Io.BaseRequester.<RequestAsync>d__6.MoveNext() in F:\Software\AngleSharp\src\AngleSharp\Io\BaseRequester.cs:line 44
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at AngleSharp.Io.BaseLoader.<LoadAsync>d__14.MoveNext() in F:\Software\AngleSharp\src\AngleSharp\Io\BaseLoader.cs:line 166
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at AngleSharp.BrowsingContextExtensions.<OpenAsync>d__2.MoveNext() in F:\Software\AngleSharp\src\AngleSharp\BrowsingContextExtensions.cs:line 81
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at AngleSharp.Core.Tests.Library.ContextLoadingTests.<LoadContextFromStreamLoadedShouldNotFaceBufferTooSmall>d__9.MoveNext() in F:\Software\AngleSharp\src\AngleSharp.Core.Tests\Library\ContextLoading.cs:line 189
--- End of stack trace from previous location where exception was thrown ---
   at NUnit.Framework.Internal.ExceptionHelper.Rethrow(Exception exception)
   at NUnit.Framework.Internal.AsyncInvocationRegion.AsyncTaskInvocationRegion.WaitForPendingOperationsToComplete(Object invocationResult)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.RunAsyncTestMethod(TestExecutionContext context)

If I understand correctly, the tests assume that AngleSharp.Core.Tests.dll is located in a very specific path related to the repository's \src\AngleSharp.Core.Tests\Resources folder, and things break if the project is build to a different folder or the test runner does some trickery. Not sure what would be the best way to make these tests more robust, maybe adding the files to the dll resources and then using them directly from there (or writing them to the temp folder inside the tests if they must be located on disk)?

Well, these tests are designed such that they are robust. The problem with tests from webpages we don't control is that they may change and thus the test may fail even though everything's perfect fine.
The solution is a lightweight local wrapper that assumes a certain convention to be followed. Another solution may have been to actually use the test website for caching other websites. I decided to go for the former to have running tests even without Internet connection (there are enough integration tests already that require Internet connection). So I close this for now as the problem is in breaking the convention, not the code itself. It was not written to be used in other cases.
I would consider it an enhancement to change the tooling here, but frankly I don't like having a configuration just to make the tests working - if they are used as they should be then they are working.


ENYO-2452-rajyavardhan-Unnecessary border around placeholder if image…

… fails to load
Issue: The behavior is rather normal as enyo.Image makes the 'src:
null', if the image fails to load. So browser draws a border around the
size of the image when there is no 'src' attribute or 'src: null'
Fix: Instead of making the src: null when the image doesn't load, the
source is set with a transparent image.
Enyo-DCO-1.1-Signed-off-by: Rajyavardhan P<EMAIL_ADDRESS>

Closed as "Not A Bug".


Create Pop-up for discounts

Currently the pop up exists but does not communicate with the database, will be working on that right now

Finally did it, pop now communicates with the database, and has a selectable drop-down menu that changes the value of has discount wether it be static or dynamic to true or false based on what you click, the change then gets saved to the database and remains visible on the table immediately after thanks to a refresh method.
I also implemented the view flight list with a new SQL statement that allows the list to always be in ascending order based on the flight ID even if the the flight ID starts with two chars
Next step is to add the description of the discount, reminder static discount cant be changed being static, only dynamic can change


Target netportable50 and netcore50 instead of portable-net45+win8

Depends on aspnet/dnx#2009
/cc @troydai @anurse
FYI: netcore50 = Windows Universal Apps, netportable50 (working title) = .NET Core 5 Contract-based Class Libraries

Looks good to me :shipit:

@davidfowl

Looks good to me. :shipit:


[prettier] Adds imports grouping

Description
Adds grouping by package / module.
Test plan
How did you test the new or updated feature?

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:
[ ] REST API:

Is this PR obsoleted by the big prettier PRs #20203 and #20204?


definePageMeta is ignored when used alongside normal

Environment
Nuxt 3.12.x
Reproduction
https://stackblitz.com/edit/github-1zinkb?file=pages%2Findex.vue
Describe the bug
The last update is causing breaking change when someone is using script alongside script setup to name components for devtools: https://vuejs.org/api/sfc-script-setup.html#usage-alongside-normal-script
This affects definePageMeta as it is ignored and Layouts are not working properly
Additional context
Since Vue 3.3+, there is already a macro defineOptions https://vuejs.org/api/sfc-script-setup#defineoptions, and this is respected.
I'm filling this bug just to let you know about that for educational purposes :) also maybe someone will search for issues and find this helpful 🙌
Logs
No response

Yeah I am having this issue after 3.12 too. My route names are defined in pages but they are read as undefined.
definePageMeta({
  name: 'wallet-items',
})

@tberk I think your problem like this. https://github.com/nuxt/nuxt/issues/28436


Use YoloR with swin transformer as backbone.

@leondgarse  I am trying to get inference using yolor with swin backbone but getting the following results.  What can be the issue?
from keras_cv_attention_models import efficientnet, yolor
from keras_cv_attention_models import swin_transformer_v2

from keras_cv_attention_models import efficientnet, yolor
bb = swin_transformer_v2.SwinTransformerV2Small_window16(input_shape=(256, 256, 3), num_classes=1000)
model = yolor.YOLOR(backbone=bb)

from keras_cv_attention_models import test_images
imm = test_images.dog_cat()
preds = model(model.preprocess_input(imm))
bboxs, lables, confidences = model.decode_predictions(preds)[0]

from keras_cv_attention_models.coco import data
data.show_image_with_bboxes(imm, bboxs, lables, confidences)

resulting output

I think this a same issue with #70.
You have to train it firstly, as this combination is using their own pre-trained weights separately, we cannot expect a good result.
I may take a try for training, just got very little spare time recently...

@leondgarse , which training script should i use for above mentioned combination training?

This is a command I've just tested. Detail usage for coco_train_script.py is explained in COCO training and evaluating.
CUDA_VISIBLE_DEVICES='0' ./coco_train_script.py --backbone swin_transformer_v2.SwinTransformerV2Small_window16 \
--det_header yolor.YOLOR --anchors_mode yolor -s yolor_swin

Here is a test result after only runing 9 epochs:
from keras_cv_attention_models import yolor, swin_transformer_v2, test_images

bb = swin_transformer_v2.SwinTransformerV2Small_window16(input_shape=(256, 256, 3), pretrained=None, num_classes=0)
model = yolor.YOLOR(backbone=bb, input_shape=(256, 256, 3), rescale_mode='torch')  # Default rescale_mode from coco_train_script.py is "torch"
model .load_weights('checkpoints/yolor_swin_latest.h5')  # Load the trained weights

# Detect
imm = test_images.dog_cat()
preds = model(model.preprocess_input(imm))
bboxs, lables, confidences = model.decode_predictions(preds)[0]

# Show
from keras_cv_attention_models.coco import data
data.show_image_with_bboxes(imm, bboxs, lables, confidences)

Uh, right, pull the latest code first, as I modified a little for swin float16 / float32 issue.

ok, sure. I am working on it now, may be ill share the trained model if you like. :)

If you really want, this yolor_swin.h5 is a model trained for 10 epochs.

@leondgarse ,very thanks. I am currently training  this model using colab, ill share once its done.::))

@leondgarse  can you please train it more and send the model if possible?

@leondgarse
Hey, Thank you so much for sharing your work and helping solve the quires. I want to train the above model you provided but am severely lacking in the resources department. It would be very generous of you to kindly train the model a little more whenever feasible and provide it if possible.
regards

Ya, my training is actually finished earlier, using inputa_shape 512. But only reaches test AP 0.4204, not very satisfying, as the total FLOPs is 63.25G...
CUDA_VISIBLE_DEVICES='0' ./coco_train_script.py \
--backbone swin_transformer_v2.SwinTransformerV2Small_window16 --det_header yolor.YOLOR \
--anchors_mode yolor -i 512 -b 32 -p adamw

Model weights is uploaded YOLOR_SwinTransformerV2Small_window16_512_epoch_89_val_ap_ar_0.4204.h5. Basic usage is same with the previous one, just with input_shape=512.
from keras_cv_attention_models import yolor, swin_transformer_v2, test_images

bb = swin_transformer_v2.SwinTransformerV2Small_window16(input_shape=(512, 512, 3), pretrained=None, num_classes=0)
model = yolor.YOLOR(backbone=bb, input_shape=(512, 512, 3), rescale_mode='torch')  # Default rescale_mode from coco_train_script.py is "torch"
model.load_weights('YOLOR_SwinTransformerV2Small_window16_512_epoch_89_val_ap_ar_0.4204.h5')  # Load the trained weights

# Detect
imm = test_images.dog_cat()
preds = model(model.preprocess_input(imm))
bboxs, lables, confidences = model.decode_predictions(preds)[0]

# Show
from keras_cv_attention_models.coco import data
data.show_image_with_bboxes(imm, bboxs, lables, confidences)

Eval
CUDA_VISIBLE_DEVICES='1' ./coco_eval_script.py \
-m checkpoints/YOLOR_SwinTransformerV2Small_window16_512_epoch_89_val_ap_ar_0.4204.h5 \
--nms_method hard --nms_iou_or_sigma 0.65 --nms_max_output_size 300 --nms_topk -1
# Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.426
# Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.618
# Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.456
# Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.216
# Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.473
# Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.608
# Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.336
# Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.526
# Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.562
# Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.316
# Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.628
# Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.778

@leondgarse
Thankyou so much!!!
Means alot.
You've made my day.


Issues recoloring from gray - black main color?

probably has to do with the fact that hsl.h == hsl.s == 0

https://github.com/CL-9a/RoAColorsGmlHelper/blob/master/index.js#L658
issue is here, hL = 359, h = 0, hH = 1,  hue is a value wrapping around [0, 360] but I don't check it as such, so hL <= h => hH is false at 359 <= 0

nice try but now red 255 is broke
rgb(255, 11, 72)
range { hL: 329, hH: 1, sL: 78, sH: 100, vL: 58, vH: 100 }
hsv: { h: 345, s: 96, v: 100 }
h false hL true hH false sL true sH true vL true vH true


Pathex does not compile with elixir 1.14.0-rc0

== Compilation error in file lib/pathex/accessibility.ex ==
** (ArgumentError) cannot pipe value into function.()
|> case do
{:ok, value} -> value
:error -> throw(:path_not_found)
end, the :|> operator can only take two arguments
(elixir 1.14.0-rc.0) lib/macro.ex:323: Macro.pipe/3
(elixir 1.14.0-rc.0) expanding macro: Kernel.|>/2
lib/pathex/accessibility.ex:144: Pathex.Accessibility.from_list/2
(elixir 1.14.0-rc.0) expanding macro: Kernel.|>/2
lib/pathex/accessibility.ex:144: Pathex.Accessibility.from_list/2
expanding macro: Pathex.path/2
lib/pathex/accessibility.ex:144: Pathex.Accessibility.from_list/2
great library, this could be elixir issue

Let's see how this error will behave in next candidate versions. Meanwhile, you can use 2.1 version of Pathex

Good news,  no compile error with 1.14.0-rc1.


1-block Finality

Initial analysis on https://clabsco.slack.com/archives/CNJ7KTHQU/p1719478411189299
### Research, design, documentation
- [ ] https://github.com/celo-org/optimism/issues/17
- [ ] https://github.com/celo-org/optimism/issues/103
- [ ] https://github.com/celo-org/optimism/issues/207
- [ ] https://github.com/celo-org/optimism/issues/195

### Implementation - 40h total?
- [ ] https://github.com/celo-org/optimism/issues/198
- [ ] https://github.com/celo-org/optimism/issues/200

@palango do you have an estimation for this epic? (https://clabsco.slack.com/archives/C0705GMH2A1/p1715949226812009?thread_ts=1715879939.704039&cid=C0705GMH2A1)

Currently blocked on finishing the state migration https://github.com/celo-org/optimism/issues/83 (human bandwidth).

Related: https://clabsco.slack.com/archives/CNJ7KTHQU/p1719478411189299

Can we add it to, dango retrospectively?
We already announced that dango has 1 block finality.

Despite a potential refactor of the derivation pipeline from protolambda, we want to go forward with this.

Alfajores scope has been done, issues for M5 are tracked in https://github.com/celo-org/celo-blockchain-planning/issues/621


Does not work with jruby because of yajl-ruby dependency

yajl-ruby has ffi branch, but seems outdated. Is it possible to use the json gem on jruby platform? Or to use ffi branch of yajl-ruby.
Thank you,
Alex

This should have been resolved in v.3.0.0 onwards


Fix step-by-step from GUI

Without this patch, pressing the "+{}ms" in the GUI will only cause one simulation step to be executed, in step-by-step mode.
So if mc-rtc timestep is 5ms and the simulation timestep is 1ms, the "+5ms" button was needed to be pressed 5 times for one controller::run() to be executed.
The expected behaviour is that if the +5ms button is pressed once, that should call the controller::run() once.
If the +25ms button is pressed once, that should lead to controller::run() being called 5 times... and so on.
If my understanding is correct, is this is the best way to fix this?
I added some comments too make it clearer.

Thanks for pointing out the errors!


Add displayio_effects library to bundle

Adds the new displayio_effects library to the bundle!  Points to the CircuitPython Org fork.
Also happy to make changes to the actual library as part of the PR.  I made an initial release for the library but can submit a PR with changes to it as needed.

@FoamyGuy just a ping to check in and see if anything else needs to be done for this!


incremental updating

What problem does this feature solve?
when the release versions are frequent and the deployment point is not local, I hope to support the incremental update deployment instead of the full package and release every time

This feature request is available on Nuxt community (#c10062)

Could you explain how you'd expect this to work?

I have an opinion on this. I currently have a Laravel site where users may edit some entities (let's call them docs). The docs have end up being nuxt exported, but I don't want to be running nuxt export each time 1 user edits 1 doc. So, I wrote this script for incrementally building only 1 doc:
const { loadNuxt } = require("nuxt");
const fs = require("fs");

async function run() {
  const nuxt = await loadNuxt({
    for: "start",
    _nuxtConfigFile: "nuxt.config.js",
    envConfig: { dotenv: "../.env" },
  });
  const docs = [...process.argv];
  docs.shift();
  docs.shift();
  docs.forEach(async (p) => {
    const { html, error, redirected } = await nuxt.renderRoute(`/doc/${p}`);
    fs.writeFileSync(`../public/_nuxt/doc/${p}/index.html`, html);
  })
}
run();

This works... kind of... The problem is that the render process also created some payload files, which contain state, and nuxt content type things. These payload files seem to get a different hash each time I render, so they will have incorrect links after an incremental render... until the next full nuxt export that is.
The payload files are not returned from the render process (I presume?), so I can't put them where they belong either.
Pitty, this seems extremely close to working perfectly for me.

This is now possible with incremental static generation, which is supported in Nuxt 3/Nitro: https://nitro.unjs.io/. You can configure individual routes (or the entire site) to be served with swr strategy via routeRules (or set them to static for build once on request and cache).


Mark main() with a C ABI

See #277. The PR updates Reset to describe main() as having a C ABI, rather than a Rust ABI.

r? @ithinuel
(rust_highfive has picked a reviewer for you, use r? to override)


[Bug]: Failed to find python package for class QueryUnderstandingAgent

Bug Description
I run this notebook in Google Colab but there was an error when downloading the QueryUnderstandingAgentPack
When I ran this cell from llama_index.packs.query_understanding_agent.step import (     QueryUnderstandingAgentWorker,     HumanInputRequiredException, ) the error is ModuleNotFoundError: No module named 'llama_index.packs'
So I had to download the pack like in this link and the final result was an error: ValueError: Failed to find python package for class QueryUnderstandingAgent
Thanks a lot for helping me!
Version
0.10.26
Steps to Reproduce
I ran this code to download the pack:
from llama_index.core.llama_pack import download_llama_pack

# download and install dependencies
QueryUnderstandingAgentPack = download_llama_pack(
    "QueryUnderstandingAgent", "./query_understanding_agent"
)

Relevant Logs/Tracbacks
No response

@dungnq271 pip install llama_index-packs-query-understanding-agent

Thank you a lot. It works!


Added support for class based routes

When using some sort of abstraction to routes to put them in a class, the first argument should be the class.
i use https://fastapi-utils.davidmontague.xyz/user-guide/class-based-views/#the-cbv-decorator and probably more people do.
cheers.

Thanks for the PR! I'm working on a test for the changes. Is this how do you anticipate using the decorator in a class based view?
https://github.com/muicss/starlette-wtf/blob/cbv/tests/test_csrf.py#L305-L332

hi @amorey!
it's not exactly like that but looks pretty similar.  i am adding below my use of the changes(not exactly but pretty close):
from fastapi import APIRouter, status
from fastapi_restful.cbv import cbv
from starlette.requests import Request
from starlette.responses import PlainTextResponse, HTMLResponse
from starlette_wtf import csrf_protect

from app.forms.user import MyForm

router = APIRouter(
	prefix='/example',
	tags=['example'],
	responses={404: {"description": "Not found"}}
)

@cbv(router)
class Example:
	@router.api_route('/form', methods=['GET', 'POST'])
	@csrf_protect
	async def get_data(self, request: Request):
		# initialize form
		form = await MyForm.from_formdata(request)

		# validate form
		if await form.validate_on_submit():
			return PlainTextResponse('SUCCESS')

		# generate html
		html = template.render(form=form)

		# return response
		status_code = status.HTTP_402_PAYMENT_REQUIRED if form.errors else status.HTTP_200_OK
		return HTMLResponse(html, status_code=status_code)

then on another file:
    app.include_router(router)

btw, im using fastapi restful in this example because there is a bug in fastapi_utils that will be fixed sooner there
https://github.com/yuval9313/FastApi-RESTful/pull/36
i don't have an example to use this changes without the cbv from fastapi_restful but yours will probably do the job

I couldn't figure out a good way to differentiate between a bound method and a function from inside the decorator so I wrote a loop to look for the Request instance:
https://github.com/muicss/starlette-wtf/blob/cbv/starlette_wtf/csrf.py#L155-L165
Let me know if you know of a better way to identify the type of callable from inside the decorator.
In any case, the new code is live in v0.4.0-rc1:
https://pypi.org/project/Starlette-WTF/0.4.0rc1/
Can you try using that version to see if it works with fastapi-utils cbv?

I couldn't figure out a good way to differentiate between a bound method and a function from inside the decorator so I wrote a loop to look for the Request instance:
https://github.com/muicss/starlette-wtf/blob/cbv/starlette_wtf/csrf.py#L155-L165
Let me know if you know of a better way to identify the type of callable from inside the decorator.
In any case, the new code is live in v0.4.0-rc1:
https://pypi.org/project/Starlette-WTF/0.4.0rc1/
Can you try using that version to see if it works with fastapi-utils cbv?

when running your changes it seems they don't work for me, you can see below that the args var is empty

anyway, the first var should be the class instance so 'self' should be the first arg. what's wrong with the changes i've made?

The problem in the PR is that self isn't a keyword argument, at least not with Starlette requests:
https://github.com/muicss/starlette-wtf/pull/4/files#diff-5c01173881c03a4c91b74eb3667b1c782ff5425484454d12fe4d9df296e8778bR155

The problem in the PR is that self isn't a keyword argument, at least not with Starlette requests:
https://github.com/muicss/starlette-wtf/pull/4/files#diff-5c01173881c03a4c91b74eb3667b1c782ff5425484454d12fe4d9df296e8778bR155

can you send me a test to run? i'll check it

The tests are here (in the "cbv" branch):
https://github.com/muicss/starlette-wtf/blob/cbv/tests/test_csrf.py#L312-L411
To run the tests, first install the test dependencies using:
$ pip install -e .[test]

Then you can run an individual test using:
$ pytest tests/test_csrf.py -k 'test_class_based_views_with_decorator'

pytest tests/test_csrf.py -k 'test_bound_methods_with_decorator'

this test is different. the class itself('HTTPEndpoint') is one endpoint, i'm using a view (which contains multiple endpoints) so the use case is different, anyways. the fix below will work:
def _csrf_protect_for_function(func):
    """Adds CSRF protection for route endpoints
    """
    @functools.wraps(func)
    async def endpoint_wrapper(*args, **kwargs):
        cls = kwargs.pop('self', None)
        if cls:
            args = (cls,) + args

        # get request object
        request = next(arg for arg in list(args) + list(kwargs.values()) if isinstance(arg, Request))

        if request == None:
            raise RuntimeError("couldn't find Request instance")

        # ignore non submit methods
        if not request.method in SUBMIT_METHODS:
            return await func(*args, **kwargs)

        # get token
        signed_token = await get_csrf_token(request)

        config = request.state.csrf_config

        # validate token
        try:
            validate_csrf(request,
                          signed_token,
                          secret_key=config['csrf_secret'],
                          field_name=config['csrf_field_name'],
                          time_limit=config['csrf_time_limit'])
        except ValidationError as e:
            raise CSRFError(e.args[0])

        # strict ssl check
        if request.url.scheme == 'https' and config['csrf_ssl_strict']:
            referrer = request.headers.get('REFERER')

            if not referrer:
                raise CSRFError('The referrer header is missing.')

            if not same_origin(urlparse(referrer), request.url):
                raise CSRFError('The referrer does not match the host.')

        # mark request as valid
        request.state.csrf_valid = True

        # pass on request
        return await func(*args, **kwargs)

    return endpoint_wrapper


raw_signal.py reads record which doesn't exist

Dear Maggi,
Recently I was analyzing sample DRR138513 from the European Nucleotide Archive. I received this error message while running FusionSeeker on the sorted bam output. I received the error whether running FusionSeeker with your original GitHub repo or with my fork.
what I noticed is that the program was searching for a particular record record_read_chr9_GL383539v1_alt, which has a GL number one less than the GL numbers which I do see within the directory. The image below displays this comparison.

machine details:
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
full pipeline outputs: https://github.com/Theo-Nelson/long-read-sequencing-pipeline-examples/blob/main/long_read_rna_seq_analysis-DRR138513.ipynb
Please let me know whether this is a problem with the sample or the program. Thank you very much!
Sincerely,
Theo

Adding to this I got the same error:
Traceback (most recent call last):
File "/home/kunger/data2/FusionSeeker/fusionseeker", line 104, in
raw_signal.detect_from_split(defusion_args.outpath,goodchrom)
File "/data2/core-strahl-kitso/FusionSeeker/raw_signal.py", line 373, in detect_from_split
allsplitread+=open(outpath+'raw_signal/record_read_'+chrom,'r').read().split('\n')[:-1]
FileNotFoundError: [Errno 2] No such file or directory: 'fusion_out/raw_signal/record_read_chr18'
Any hint how this can be fixed?

I got the same error. Hope the developed can help solve the issue.


Force name of conda environment

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a63e4ac). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #4   +/-   ##
=========================================
  Coverage          ?   94.61%
=========================================
  Files             ?        6
  Lines             ?      167
  Branches          ?        0
=========================================
  Hits              ?      158
  Misses            ?        9
  Partials          ?        0

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 a63e4ac...8e901bb. Read the comment docs.


PortalAPI - deprecate track with completion function

Summary
PortalAPI - deprecate track with completion function

can you update the PR title and description to expalin all the changes? I see changes to the keychain class but i dont know what is being changed or why


Visualization Sizing on Meshery Integrations Page

Description
Upon visiting the Meshery integrations page,  the visualization does not fit on the screen properly. This causes some visual elements to be cut off and makes it difficult to view all relevant information.
Expected Behavior
The visualization on the Meshery integrations page should be adjusted so that it fits properly onto the screen
Enviroment:

OS: Mac Linux Windows
Browser: Chrome Safari Firefox
Version:
Device: Desktop Mobile

Contributor Guides and Handbook
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

📚 See the Contributing to Meshery.io Website section of the readme.md and other contributing instructions, too.
🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

i already opened this issue in #1181 and fixed in pr #1189

@Ghat0tkach, this is different, the table view of the visualization is not positioned in the center, and we have to fix that issue.


JBPM-5349: Drilldown in Process and task dashboard broken

Verified on a SDM + wf10/kie-server setup.
Tests have been also adapted to the new metric component.
@cristianonicolai Can you verify please?

jenkins retest this

@dgutierr when I select something on either Processes By Type or Tasks By Process all displayers get updated but the one I selected, is that expected behavior?

@dgutierr I reported this behavior described by @cristianonicolai  as a regression in JBPM-5349, because in previous versions ALL the charts were updated including the one you click for filtering.

@jhrcek @cristianonicolai  I will check that, fix it and add the corresponding test case as well to avoid regressions. Thanks mates!

@cristianonicolai I fixed the issue and now everything works as expected.  Can you verify it again please?

Thanks @dgutierr. Unfortunately, looks like the problem still there. Also the aggregate card colors seems to have blue background instead of white.
Here is what I get when selecting a specific process type:

@cristianonicolai weird. it looks like you were not running the latest changes I pushed.  @nmirasch Can you take a look and check if the dashboard looks fine in your env? Thanks!

@cristianonicolai, @dgutierr this is how I see the screen in my environment (chrome and firefox), I think the colour of the boxes is right

Thanks a lot @nmirasch . That's exact the expected behaviour. @cristianonicolai Can you please double check your setup?

thanks @nmirasch.
@dgutierr sorry, I can confirm that I'm getting the same as @nmirasch.
As you can see in the last image, Processes By Type, still not filtered when Evaluation process is selected. All other widgets are filtered but this one, same goes for Tasks By Process.

@cristianonicolai  The  "Processes By Type" chart is acting as a selector. It should not be updated since it reflects the selection made by the user. This is the expected behaviour :-)

@dgutierr @jhrcek, ok so I guess there is some misunderstanding here. I checked a previous version and the current behavior seems fine, whatever graph is used to drill down the information remains unchanged. @jhrcek, regarding JBPM-5349, this fixes part 1, but part 2 is just the expected behavior. WDYT?

@cristianonicolai I verified the previous behavior with 6.4 product and it turns out I made a mistake: the problem described in 2 in the jira is actually expected behavior - only the first problem needed to be fixed. If that's the case this PR can be merge. Sorry for confusion.

@jhrcek no worries, thanks for clarifying that.


Add quotemark type validation to allow early return (#4310)

PR checklist

[x] Addresses an existing issue: fixes #4310
[x] New feature, bugfix, or enhancement

[x] Includes tests

[ ] Documentation update

Overview of change:
Add quotemark type validation to allow early return if not one of `, ' or ".
Before:
When linting something like (a')...
SyntaxError: Invalid regular expression: /\\)/: Unmatched ')'
After:
No error
CHANGELOG.md entry:
[bugfix] additional quotemark validation

Thanks for your interest in palantir/tslint, @isabelleweber! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.

👋 @isabelleweber just a heads up - I merged in master and resolved the test feedback. This'll be available in the next TSLint release!


Solution for Exercise 5 : Sudhindu Bikash Mandal

Name: Sudhindu Bikash Mandal
Score: 3
Chemical Accuracy: 0.143
Parameters:16

Sorry for the delay. Thank you very much for your submission!


Add Max Window Width for Tiled Windows

Is your feature request related to a problem? Please describe.
I'm using an ultrawide monitor and it would be great to have an option to limit the width of a tiled window when it is the only one on a workspace. So the app doesn't take up the whole screen unnecessarily.
Describe the solution you'd like

define maximum width for windows
mechanism  like smart_gaps inverse_outer for i3/sway

Additional context
https://www.reddit.com/r/swaywm/comments/uu2m1d/dont_use_full_width_for_first_windows/
https://github.com/leftwm/leftwm/issues/475
https://github.com/hyprwm/Hyprland/issues/2092

Probably not possible due to how gaps are handled in kwin (no fancy gaps), but I'll keep an eye on this for plasma 6/v1.0.

If it's only one window on the workspace you can simply float it and resize it as needed. The only problem is that Polonium doesn't seem to remember float window sizes for now so you need to resize it every time :|

Floating window sizes are out of the scope of this script right now. KWin should remember them (?) and retain them correctly. I don't see this feature coming to Polonium in the near future.


Complete the word search function in command line

add a new click decorated search function
change the return DBConnector.search() to dictionary
some minor modifications of DBConnector

Codecov Report

Merging #15 into master will increase coverage by 1.79%.
The diff coverage is 95.45%.

@@            Coverage Diff             @@
##           master      #15      +/-   ##
==========================================
+ Coverage   87.09%   88.88%   +1.79%
==========================================
  Files           2        2
  Lines          31       45      +14
==========================================
+ Hits           27       40      +13
- Misses          4        5       +1

Impacted Files
Coverage Δ

src/e2c/db_connector.py
84.84% <93.33%> (+2.23%)
:arrow_up:

tests/e2c/test_db_connector.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


New version: XSplit.Broadcaster version 4.5.2406.1808

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/azp run

What cause the failure in the 'Installation Validation'? The log just says Result: Failed w/ no details. How do we get past this?

/azp run

/azp run

Automatic Validation ended with:
(Automated response - build 886.)


Build the frontend to interact with this API

Also include backlinks to other helpful tools like eth-allowance and eth-sweep

https://github.com/James-Sangalli/dAppBoard-web


Bug: cube config json should be able to deal with characters which are URI illegal in metadata 'id' property

We need to change the logic of the JSON metadata loader so that it replaces any URI-illegal chars in the ID property so that it generates a safe URI for the datasets.

When the cube config json contains an id of 'http://schema-id' the following error is produced as it contains illegal characters that cannot be used in construction of the output filenames
CRITICAL:csvcubed.cli.entrypoint:Traceback (most recent call last):
File "C:\Users\Richard\OneDrive\Documents\Methods\ONS\git\csvcubed\csvcubed\csvcubed\cli\entrypoint.py", line 83, in build_command
build(
File "C:\Users\Richard\OneDrive\Documents\Methods\ONS\git\csvcubed\csvcubed\csvcubed\cli\build.py", line 78, in build
writer.write(output_directory)
File "C:\Users\Richard\OneDrive\Documents\Methods\ONS\git\csvcubed\csvcubed\csvcubed\writers\qbwriter.py", line 123, in write
with open(metadata_json_output_path, "w+") as f:
OSError: [Errno 22] Invalid argument: 'out\example_output\http:\schema-id.csv-metadata.json'

Sorry @CharlesRendle but I made this fix whilst I was doing something in the area in the following PR: https://github.com/GSS-Cogs/csvcubed/pull/430


change paragraph

Change Summary
Re-wrote the paragraph
Change Form
Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

[ ] The pull request title has an issue number
[ ] The change works by "Smoke testing" or quick testing
[ ] The change has tests
[ ] The change has documentation

Other Information
Not sure if the description should have 12 or 14 days? I've put 14 rn
Related Issue

Resolve #200

Also remove the added favicon


Only Backup Point on Latest Canary FiveM Game version 3095

Hi,
I do not know if it is something I did wrong, but I simply put the mod like any other in resources and put it in the server.cfg and in game I am only spawning at the Backup point.

Hey @Unkn0wnCreator ,
Thanks for reporting this issue. I've tried reproducing it on version 3095 without success. Please note that 3095 is currently unstable (afaik). Maybe an update to the latest version can fix your issue, or even wait for a stable release, and test again? If the problem persists, please share your server.cfg file, making sure to remove any sensitive information, so I can look into it further.
Additionally, you can debug the script yourself using the DEBUG_PRINT variable. This will print blips on the map to verify if points are being found. Also, check your console (default key: F8) after respawning for any errors.

@Unkn0wnCreator
Thanks for the detailed updates and your efforts in troubleshooting. I'd recommend testing the latest development branch of the script. I've completely rewritten the entire script, and while I haven't been able to reproduce your specific issue, your input could be helpful.
Please note that this development branch might still have some bugs, as it's under active development. Despite this, the script should function as expected.
To proceed, switch to the new development branch and give it a try. After testing, any feedback, especially on any persisting issues or new ones that arise, would be greatly appreciated. This will help in further refining the script.

I'm a bit busy with other projects at the moment, so this may take a while. The problem is that I can't reproduce this error, but it would need some further testing. In the dev branch you can also find a newer version that worked for me (version 3095). Otherwise we would have to test if it is due to the Docker version of the server or if another plugin is causing the problem for me or you.

I've decided to close this issue as I can't reproduce the error.
Please test the latest script update. If the issue persists, try deactivating other plugins to identify any conflicts. If the problem continues, reopen this issue with more details.
Thank you.


[Backend Not Merged][Ready For Review]Update pipeline

Backend is not merged yet.
Related issue https://github.com/rancher/rancher/issues/14282


setValue and getModel not working synchronously

I'm trying to save a form whenever a form component changes by using the new getModel() function of the form. In my input component I use a function like this
onChange (value) {
    this.props.setValue(value);
    this.props.saveForm();
}

this.props.saveForm() calls a function of my form component
saveForm () {
    var model = this.refs.form.getModel();
    ...
}

However in saveForm the value of the input component is not up to date. This is because setValue in Mixin.js of this lib calls the components setState function and returns immediately, so that getModel in the above example is called before the state is actually updated.
I would propose to add an optional callback parameter to the setValue function to support the above example, if there is no other better way of solving this problem.

I've also run into a ton of issues where a callback to setValue (or making it return a promise) would have saved a lot of hacks.


numba error in likelihood benchmark notebook

Error with the inherited_vectors function

Cannot reproduce, could be related to numba version.


soc: xilinx_zynq7000: restore static SLCR MMU mapping when GEM is active

Conditionally re-instate the static MMU page table mapping for the SLCR (I/O and clock config register space) removed by #46648, as the removal of this mapping causes any Zynq-based target (including the simulated qemu_cortex_a9) to crash if the GEM Ethernet controller driver is included in the build (data abort exception upon clock config register access).
PR #46648 introduced a pinctrl driver for the Zynq, which maps the SLCR address space to a virtual address internally. However, this driver is not the only instance that accesses this register space, as the SLCR also contains clock configuration facilities which are accessed by the GEM Ethernet driver upon initial link speed configuration and whenever the link speed changes at run-time (if a PHY is monitored and managed by the driver). The driver currently expects VA=PA MMU mappings for both the respective GEM's own register space and the SLCR. The driver currently doesn't make use of the DEVICE_MMIO API, as this can only map either the respective GEM's register space or the SLCR, but not both.
This re-instatement can be considered temporary, as a clean potential solution exists in the form of a clock controller driver providing an API to the GEM driver which allows it to set the TX clock pre-scalers at run-time. With such a driver available, the GEM driver doesn't need to access the SLCR any more. Until then, a VA=PA MMU mapping for the SLCR is required. The GEM driver could then also be converted to the use of the DEVICE_MMIO API for its own register space.
This static mapping doesn't interfere with the mapping invoked by the pinctrl driver if this driver is active - multiple MMU PTEs can point to the same physical address.
Signed-off-by: Immo Birnbaum<EMAIL_ADDRESS>

Why not simply add the missing clock controller driver?

Because the clock controller driver maps the SLCR to a virtual address the GEM driver doesn't know anything about. At the time being, the address of the respective GEM's clock control register is specified in the device tree using the physical address. This has so far been the most convenient solution as both the register space the clock control registers are located in as well as their offsets witihin that register space differ between the Zynq and the UltraScale.
An alternative solution could be (as neither the device config nor the device data struct of the respective GEM contain the device index as in GEM0, GEM1, ... so that the register offset could be calculated in code) to convert the clock control register entry in the DT to an offset only and to have each instance of the GEM driver set up its own private virtual mapping of the SLCR / CRL_APB register space. The physical address to be mapped would be #ifdef'd for the two SoC families.
Would you prefer that solution, until this can all be abstracted out via a clock control driver?

Why not simply add the missing clock controller driver?

Reverting my last post, I was somehow involving the existing Pinctrl driver into this issue, which is unrelated... However, what also applies to the Pinctrl driver is that unfortunately I can't re-use its mapping of the SLCR for access by the GEM - even if it's enabled which it currently isn't on my HW - as the Pinctrl driver doesn't expose the virtual address it has obtained in any way.
Yes, I'd like to see that clock controller driver too, but I can't realistically estimate when it would be done. And right now, there's some pressure around here to have a working (doesn't have to be pretty, but working...) GEM on the UltraScale. which includes link speed configuration. Therefore, getting the fixes merged from what used to be #45556, this time split into the smaller items they actually were, is my top priority. I'm relatively sure that the code of a clock control driver isn't that huge, same as your pinctrl implementation, I'm less certain when it comes to the effort required to have this functionality integrated nicely on the DT side, with PLL-based configurations and flat EMIO clock frequencies existing side-by-side. I'll look into it, but the less we have to patch around the mainline sources in the short term, the better.


[WIP] Mock web server for unit testing

Adding Square's MockWebServer library to create a mock web server to use with the existing unit testing of the API methods. It supplies mock responses for every URL that is currently called in the existing unit tests, copied from their responses (with small modifications to remove transient data). Artificial randomised throttling implementation is copied over from the MockRestAdapter implementation in Retrofit. To keep the tests reproducible, I didn't use the random timeouts from there (though the methods for doing that are in the code). If desired, we could create another test series consisting of only failures.
There were a few issues in the existing unit tests for API calls that are also copied in the mock responses at the moment:

The course handouts API is returning a 404 response, which is causing a NullPointerException in the testHandouts() method when it attempts to log it's handouts_html property.
There is currently no data returned in the video outlines API, but the testSyncLastSubsection() method expects some data, which causes the test to crash with NoSuchElementException.

JIRA Issue: https://openedx.atlassian.net/browse/MA-700

:+1:


Remove deprecated plugins

Description
Removes depreciated plugins and granularize the installation of the plugins into smaller groups.
Issues Resolved

Resolves #56

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks for resolving this. I cloned your branch and tried deploying the jenkins, after entering the initial password it asked to install plugins. I installed clicked install recommended plugins. While doing so I saw workspace cleanup plugin failed to install. I proceeded and later saw that plugin in installed section. Maybe a transient issue, Just wanted to know if you faced the same?
Also are we planning to upgrade the jenkins version: https://www.jenkins.io/changelog/ Looks like many security and bug fixes have been fixed in new versions.

I think we should update the jenkins version. @peterzhuamazon - thoughts?

Thanks for resolving this. I cloned your branch and tried deploying the jenkins, after entering the initial password it asked to install plugins. I installed clicked install recommended plugins. While doing so I saw workspace cleanup plugin failed to install. I proceeded and later saw that plugin in installed section. Maybe a transient issue, Just wanted to know if you faced the same?
Also are we planning to upgrade the jenkins version: https://www.jenkins.io/changelog/ Looks like many security and bug fixes have been fixed in new versions.

I think we should update the jenkins version. @peterzhuamazon - thoughts?

Lets do that separately so we can merge this PR


Can't prevent focus on first question with error

Are you requesting a feature, reporting a bug or asking a question?
Requesting a feature / reporting a bug
What is the current behavior?
If the survey triggers error messages, the first question gets focused despite setting focusFirstQuestionAutomatic to false.
What is the expected behavior?
Setting focusFirstQuestionAutomatic to false should prevent the first question from getting focused even after it triggers an error message.
How would you reproduce the current behavior (if this is a bug)?
Set isRequired to true on the first question and focusFirstQuestionAutomatic to false. Click 'next' without answering to cause the error message to show up, and see that the first question is automatically focused. (Used Survey Builder)
Specify your

browser: Chrome
browser version: Latest
surveyjs platform: React
surveyjs version: 1.0.77

@CarolinaLi focusFirstQuestionAutomatic is about focusing the first questioin on the page on showing a new page. We will need a new option to prevent focusing a question with an error.
Do you have any particular reason, why do you need this functionality?
I beleive the most users would love to see what is wrong immediately.
Thank you,
Andrew

Hi @andrewtelnov,
This is for WCAG compliance; when the user tabs to a question, the screen reader reads out the question and associated error message. But when the focus is on the first question automatically, the error message isn't read out. If the user presses tab, it'll jump to the 2nd question.
We tried to override the focus and set it to a heading above so the user could then tab to the first question, but the automatic focus seems to prevent this.
Thanks,
Carolina

@CarolinaLi Ok. I have added survey.focusOnFirstError property (default is true). You will have to set it to false. This property will be available in the next minor update that we will release on this week, most likely tomorrow.
Thank you,
Andrew

@andrewtelnov Thanks so much!


chore(main): release 3.1.3

:robot: I have created a release beep boop
3.1.3 (2024-03-08)
Bug Fixes

clean packages (#32) (ee6008b)
update package-lock.json (#33) (e85dbac)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/jbdoumenjou/poc-changelog/releases/tag/v3.1.3 :sunflower:


Update client3:circe, client3:core to 3.8.2

Updates

com.softwaremill.sttp.client3:circe
com.softwaremill.sttp.client3:core

from 3.5.2 to 3.8.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.softwaremill.sttp.client3" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.softwaremill.sttp.client3" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #160.


Introduce interface for removal of a ecma-collection's last value

Related issue: #310

LGTM

LGTM

Merged (97aed75a46c3db488b1bbccc88f1e98bb9eb8964).


Breaking change in addon API inherited from (cryptography?)

Problem Description
This is an interesting problem. The CHANGELOG for mitmproxy 10 claims that the only breaking change for addons are connection.Client/Server constructor. However, Cert.altnames has also changed. I assume this was inherited from an upgrade to cryptography?
It would be easy for me to update the CHANGELOG, but this is a general problem how we can avoid breaking addons in the future when inheriting changes from other libraries.
Steps to reproduce the behavior:
addon.py
def tls_established_server(data):
    server = data.conn

    for cert in server.certificate_list:
        for name in cert.altnames:
            print(name)

mitmdump --scripts addon.py
curl --insecure --proxy localhost:8080 https://example.com/

Mitmproxy 9 output
www.example.org
example.net
example.edu
example.com
example.org
www.example.com
www.example.edu
www.example.net

Mitmproxy 10 output
<DNSName(value='www.example.org')>
<DNSName(value='example.net')>
<DNSName(value='example.edu')>
<DNSName(value='example.com')>
<DNSName(value='example.org')>
<DNSName(value='www.example.com')>
<DNSName(value='www.example.edu')>
<DNSName(value='www.example.net')>

The change was not directly inherited from cryptography but implemented in https://github.com/mitmproxy/mitmproxy/commit/b659ea0101ed6af8dc5dc227d8e71aafcda12d75. Based on what you are saying we should have a better CHANGELOG entry? Feel free to propose something, otherwise I'll try to come up with a better version.

Ah, now I think I see what you mean. This should be on https://docs.mitmproxy.org/stable/addons-api-changelog/, right?

The change was not directly inherited from cryptography but implemented in b659ea0. Based on what you are saying we should have a better CHANGELOG entry? Feel free to propose something, otherwise I'll try to come up with a better version.

I see. What I meant is that I would expect this to be listed under https://github.com/mitmproxy/mitmproxy/blob/main/CHANGELOG.md#breaking-changes . When I upgrade major versions of anything I mostly look into that section and don't screen the rest for additional breaking changes.
I think

This should be on https://docs.mitmproxy.org/stable/addons-api-changelog/, right?

Didn't know this existed :smile:


Added PR Checklist to README

This PR adds a discussion to the contribution section on a checklist for new feature PRs to Houston.

The relevant content in formatted Markdown:
Pull Request Checklist
To submit a pull request (PR) to Houston, we require the following standards to be enforced. Details on how to configure and pass each of these required checks is detailed in the sections in this guideline section.
Ensure that the PR is properly formatted
We require code formatting with Brunette (a better version of Black) and linted with Flake8 using the pre-commit (includes automatic checks with brunette and flake8 plus includes other general line-ending, single-quote strings, permissions, and security checks)
Command Line Example
pre-commit run --all-files
Ensure that the PR is properly rebased
We require new feature code to be rebased onto the latest version of the develop branch.
git checkout develop
git pull --rebase  # Use the following to make this the default: git config pull.rebase true
git checkout
git pull
git rebase develop
Resolve all conflicts
git merge develop  # Sanity check
git push --force origin
Ensure that the PR uses a consolidated database migration
We require new any database migrations (optional) with Alembic are consolidated and condensed into a single file and version. Exceptions to this rule (allowing possibly up to 3) will be allowed after extensive discussion and justification.
All database migrations should be created using a downgrade revision that matches the existing revision used on the develop branch. Further,a PR should never be merged into develop that contains multiple revision heads.
invoke app.db.downgrade
rm -rf migrations/versions/.py
invoke app.db.migrate
invoke app.db.upgrade
invoke app.db.history  # Check that the history matches
invoke app.db.heads  # Ensure that there is only one head
Ensure that the PR is properly tested
We require new feature code to be tested via Python tests and simulated REST API tests. We use PyTest (and eventually Coverage) to ensure that your code is working cohesively and that any new functionality is exercised.
We require new feature code to also be fully compatible with a containerized runtime environment like Docker.
pytest
Ensure that the PR is properly sanitized
We require the PR to not include large files (images, database files, etc) without using GitHub Large File Store (LFS).
git lfs install
git lfs track "*.png"
git add .gitattributes
git add image.png
git commit -m "Add new image file"
git push
We also require any sensitive code, configurations, or pre-specified values be omitted, truncated, or redacted. For example, the file _db/secrets/py is not committed into the repository and is ignored by .gitignore.
Ensure that the PR is properly reviewed
After the preceding checks are satisfied, the code is ready for review. All PRs are required to be reviewed and approved by at least one registered contributor or administrator on the Houston project.

The relevant content in formatted Markdown:
Pull Request Checklist
To submit a pull request (PR) to Houston, we require the following standards to be enforced. Details on how to configure and pass each of these required checks is detailed in the sections in this guideline section.
Ensure that the PR is properly formatted
We require code formatting with Brunette (a better version of Black) and linted with Flake8 using the pre-commit (includes automatic checks with brunette and flake8 plus includes other general line-ending, single-quote strings, permissions, and security checks)
Command Line Example
pre-commit run --all-files
Ensure that the PR is properly rebased
We require new feature code to be rebased onto the latest version of the develop branch.
git checkout develop
git pull --rebase  # Use the following to make this the default: git config pull.rebase true
git checkout
git pull
git rebase develop
Resolve all conflicts
git merge develop  # Sanity check
git push --force origin
Ensure that the PR uses a consolidated database migration
We require new any database migrations (optional) with Alembic are consolidated and condensed into a single file and version. Exceptions to this rule (allowing possibly up to 3) will be allowed after extensive discussion and justification.
All database migrations should be created using a downgrade revision that matches the existing revision used on the develop branch. Further,a PR should never be merged into develop that contains multiple revision heads.
invoke app.db.downgrade
rm -rf migrations/versions/.py
invoke app.db.migrate
invoke app.db.upgrade
invoke app.db.history  # Check that the history matches
invoke app.db.heads  # Ensure that there is only one head
Ensure that the PR is properly tested
We require new feature code to be tested via Python tests and simulated REST API tests. We use PyTest (and eventually Coverage) to ensure that your code is working cohesively and that any new functionality is exercised.
We require new feature code to also be fully compatible with a containerized runtime environment like Docker.
pytest
Ensure that the PR is properly sanitized
We require the PR to not include large files (images, database files, etc) without using GitHub Large File Store (LFS).
git lfs install
git lfs track "*.png"
git add .gitattributes
git add image.png
git commit -m "Add new image file"
git push
We also require any sensitive code, configurations, or pre-specified values be omitted, truncated, or redacted. For example, the file _db/secrets/py is not committed into the repository and is ignored by .gitignore.
Ensure that the PR is properly reviewed
After the preceding checks are satisfied, the code is ready for review. All PRs are required to be reviewed and approved by at least one registered contributor or administrator on the Houston project.


Add mutation testing

Codecov Report

Merging #18 (faf467a) into main (c64617b) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main      #18      +/-   ##
============================================
+ Coverage     89.00%   89.02%   +0.01%
+ Complexity      402      381      -21
============================================
  Files            24       24
  Lines          1101     1093       -8
============================================
- Hits            980      973       -7
+ Misses          121      120       -1

Impacted Files
Coverage Δ

src/Environment/StubbedEnvironment.php
91.30% <0.00%> (-8.70%)
:arrow_down:

src/Sniff/BlankEOFSniff.php
95.83% <0.00%> (-0.17%)
:arrow_down:

src/Sniff/EmptyLinesSniff.php
100.00% <0.00%> (ø)

src/Sniff/TrailingSpaceSniff.php
100.00% <0.00%> (ø)

src/Sniff/AbstractSpacingSniff.php
100.00% <0.00%> (ø)

src/Runner/Linter.php
57.57% <0.00%> (+2.50%)
:arrow_up:

Continue to review full report at Codecov.

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


Add DOM.HTML.History.

The type signature of state might be wrong: state :: forall a e. History -> Eff (history :: HISTORY | e) a. I'm not using it, but after some brief exploring of that property I believe it could be any shape, so I put a. The browser puts one type of data in there, but users could put any type there via pushState, per the history spec.
Fixes https://github.com/purescript-contrib/purescript-dom/issues/74

I think Foreign would be a better choice than leaving state polymorphic in its return value then perhaps?

Oh good idea. I'll do the same for pushState.

Can you make Travis happy? It's just lint/style stuff, the fixes can probably be applied automatically.

Thanks @garyb. I don't know how I missed those warnings. I probably did pulp build instead of npm run build.

Awesome suggestions. I've updated and pushed a new commit.

Ah, yeah, good catch. I am using this branch in my project but I didn't update to this latest commit yet. I should do that to provide some assurance it's working as it should. I'll post here after I've done that. It'll be 1-3 days, I guess.

Thanks!

I haven't finished testing this in my app, but that's fine b/c I can just make another MR if I need to fix something. Thanks @garyb for reviewing!


Wrong Bitcoin addresses generating for legacy, SegWit and Native SegWit (BIP44|49|84)

I tried to test possibility to generate additional addresses for different versions of Bitcoin's addresses.
I decided to use final public func getKey(coin: WalletCore.CoinType, derivationPath: String) -> WalletCore.PrivateKey
So idea is to specify custom index, e.g. "m/44\'/0\'/0\'/0/2" or custom account "m/44\'/0\'/2\'/0/0"
But I was stuck at the generating default address for legacy format.
I use Swift
let mnemonicPhrase = "foster shallow problem poverty similar theme rule ignore camp van chuckle odor" // Metamask
guard let wallet = HDWallet(mnemonic: mnemonicPhrase, passphrase: "") else {
    throw HDWalletError.impossibleToGenerateWallet
}
let bitcoinDerivationPathLegacy = "m/44\'/0\'/0\'/0/0"
let bitcoinKeyLegacy = wallet.getKey(coin: .bitcoin, derivationPath: bitcoinDerivationPathLegacy)
let bitcoinAddressLegacy = CoinType.bitcoin.deriveAddress(privateKey: bitcoinKeyLegacy)
print("\(bitcoinDerivationPathLegacy): \(bitcoinAddressLegacy)")
// m/44'/0'/0'/0/0: bc1qy3laaxl4f9022vn49s0a3ptnz25pj967l96g5e

let bitcoinDerivationPathSegwit = "m/49\'/0\'/0\'/0/0"
let bitcoinKeySegwit = wallet.getKey(coin: .bitcoin, derivationPath: bitcoinDerivationPathSegwit)
let bitcoinAddressSegwit = CoinType.bitcoin.deriveAddress(privateKey: bitcoinKeySegwit)
print("\(bitcoinDerivationPathSegwit): \(bitcoinAddressSegwit)")
// m/49'/0'/0'/0/0: bc1qfv0xyycjr59rfhdy4k48ch039p442hh3j33vd4

let bitcoinDerivationPathNativeSegwit = "m/84\'/0\'/0\'/0/0"
let bitcoinKeyNativeSegwit = wallet.getKey(coin: .bitcoin, derivationPath: bitcoinDerivationPathNativeSegwit)
let bitcoinAddressNativeSegwit = CoinType.bitcoin.deriveAddress(privateKey: bitcoinKeyNativeSegwit)
print("\(bitcoinDerivationPathNativeSegwit): \(bitcoinAddressNativeSegwit)")
// m/84'/0'/0'/0/0: bc1qaky53wlhtfvm6zup8hhfr3vcg2uvg23mrs9p7s

I expected that address generated with derivationPath m/44'/0'/0'/0/0 starts from 1
address generated with derivationPath m/49'/0'/0'/0/0 starts from 3
What I am doing wrong?

Converting to discussion as it's a question


Capybara::Node::Element equals (==) operator

Given the following HTML :

Contents

Then the following should ideally be true :
first('#foo') == first('.bar')

This would allow also the following test helper to work
assert_equal node_element_one, node_element_two

Is there any particular reason that this is currently not supported, is it because or technical limitations or is it just because no-one actually thought of it before? Would you like a failing test / feature scenario to work against?

For the record, I'm not sure whether this actually returns true currently :
first('#foo') == first('#foo')

Honestly, I think it's just that no one has thought of this before. I actually think the implementation could be a bit tricky though. Do give it a shot if you feel like it.

I was thinking the same about the implementation. If I manage to find some time I will start with the tests and then we can see what it takes for the implementation (given that all these different drivers exist...)

WebDriver guarantees that element equality in Ruby is consistent with the DOM.

Interesting. Then we should probably pass the == operator through to the native element.
> first('h1').native == first('h1').native  # Selenium::WebDriver::Element
=> true
> first('h1').base == first('h1').base  # Capybara::Selenium::Node
=> false
> first('h1') == first('h1')  # Capybara::Node::Element
=> false

So we might make Capybara::Node::Element#== forward to Capybara::Selenium::Node#== forward to Selenium::WebDriver::Element#==.

Something like that, yes. My guess would be that it'll work the same in RackTest.


0.14.2 puts Example explanation inside code block (0.14.1 doesn't!)

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.

Steps to reproduce
here is my function:
function Connect-Me {
  <#
  .SYNOPSIS
    Connect to AzureAd, MicrosoftTeams and optionally also to Exchange
  .DESCRIPTION
    One function to connect them all.
    This CmdLet solves the requirement for individual authentication prompts for AzureAD and MicrosoftTeams
    (and optionally also to ExchangeOnline) when multiple connections are required.
  .PARAMETER AccountId
    Required. UserPrincipalName or LoginName of the Office365 Administrator
  .PARAMETER ExchangeOnline
    Optional. Connects to Exchange Online Management. Requires Exchange Admin Role
  .PARAMETER NoFeedback
    Optional. Suppresses output session information about established sessions. Used for calls by other functions
  .EXAMPLE
    Connect-Me [-AccountId]<EMAIL_ADDRESS>    Creates a session to AzureAD prompting for a Password for<EMAIL_ADDRESS>    If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management
    Creates a session to MicrosoftTeams with the AzureAd Session details
    If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed)
  .EXAMPLE
    Connect-Me -AccountId<EMAIL_ADDRESS>-NoFeedBack
    If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management
    Creates a session to MicrosoftTeams with the AzureAd Session details
    If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed)
    Does not display Session Information Object at the end - This is useful if called by other functions.
  [...]
}

Expected behavior
--- this is the output of v0.14.1
EXAMPLES
EXAMPLE 1
Connect-Me [-AccountId]<EMAIL_ADDRESS>
Creates a session to AzureAD prompting for a Password for<EMAIL_ADDRESS>If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management
Creates a session to MicrosoftTeams with the AzureAd Session details
If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed)
Actual behavior
--- this is the output of v0.14.2
EXAMPLES
EXAMPLE 1
Connect-Me [-AccountId]<EMAIL_ADDRESS>Creates a session to AzureAD prompting for a Password for<EMAIL_ADDRESS>If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management
Creates a session to MicrosoftTeams with the AzureAd Session details
If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed)

Error details
no error, just a style thing - don't think this is intentional
Environment data
❯ Get-Module Platyps -ListAvailable

    Directory: C:\Users\David\Documents\PowerShell\Modules

ModuleType Version    PreRelease Name                                PSEdition ExportedCommands
---------- -------    ---------- ----                                --------- ----------------
Script     0.14.2                platyPS                             Desk      {New-MarkdownHelp, Get-MarkdownMetadata…

❯ $Psversiontable

Name                           Value
----                           -----
PSVersion                      7.2.5
PSEdition                      Core
GitCommitId                    7.2.5
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals

v0.14.1 on the left
v0.14.2 in the middle
Preview of new file on the right.

I think this is expected behavior. You need a blank line between the code and the text in your comment-based help.

Adding a blank line after the code fixes the issue. PlatyPS needs the blank line to tell where the code stops and the paragraph begins.


[VL] improve cache configurations in Spark side

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Can one of the admins verify this patch?


Subquery errors in objection v1.0.0

I have several reporting queries that use subqueries. Here is a basic example of a static model method using a subquery:
    static getTrafficDailyHits(accountId, start, end) {
        const subquery = AggAffHit.query()
            .alias('h')
            .select('h.date', 'h.raw', 'h.unique')
            .joinRelation('site', { alias: 's' })
            .where('s.account_id', accountId)
            .andWhere('h.date', '>=', start)
            .andWhere('h.date', '<', end)
            .as('d');

        return AggAffHit.query()
            .select(
                'c.c_date as date',
                AggAffHit.raw('ifnull(sum(`d`.`raw`), 0) as `raw`'),
                AggAffHit.raw('ifnull(sum(`d`.`unique`), 0) as `unique`')
            )
            .from('calendar as c')
            .leftJoin(subquery, 'c.c_date', 'd.date')
            .where('c.c_date', '>=', start)
            .andWhere('c.c_date', '<', end)
            .groupBy('c.c_date');
    }

This works in v0.9.4 and produces the following SQL:
select `c`.`c_date` as `date`,
  ifnull(sum(`d`.`raw`), 0) as `raw`,
  ifnull(sum(`d`.`unique`), 0) as `unique`
from `calendar` as `c` left join (
  select `h`.`date`,
    `h`.`raw`,
    `h`.`unique`
  from `agg_aff_hit` as `h`
    inner join `sites` as `s` on `s`.`id` = `h`.`site_id`
  where `s`.`account_id` = 3
    and `h`.`date` >= '2018-03-16'
    and`h`.`date` < '2018-03-17'
) as `d` on `c`.`c_date` = `d`.`date`
where `c`.`c_date` >= '2018-03-16'
  and `c`.`c_date` < '2018-03-17'
group by `c`.`c_date`

However, in v1.0.0, it seems that the .from() method in the main query is bleeding into the subquery. Here is the SQL from v1.0.0, which produces an error:
select `c`.`c_date` as `date`,
  ifnull(sum(`d`.`raw`), 0) as `raw`,
  ifnull(sum(`d`.`unique`), 0) as `unique`
from `calendar` as `c` left join (
  select `h`.`date`,
    `h`.`raw`,
    `h`.`unique`
  from `calendar` as `h`
    inner join `sites` as `s` on `s`.`id` = `h`.`site_id`
  where `s`.`account_id` = 3
    and `h`.`date` >= '2018-03-16'
    and `h`.`date` < '2018-03-17'
) as `d` on `c`.`c_date` = `d`.`date`
where `c`.`c_date` >= '2018-03-16'
  and `c`.`c_date` < '2018-03-17'
group by `c`.`c_date`

ER_BAD_FIELD_ERROR: Unknown column 'h.date' in 'field list'

Notice in v0.9.4, the table in the from clause in the subquery (which is the correct table name for the AggAffHit model):
from `agg_aff_hit` as `h`

versus the same clause in v1.0.0 (which seems to be using the table in the from() method in the main query):
from `calendar` as `h`

I'm not sure if this is a bug or intended as a result of the refactoring done in v1.0.0.

Why are you using the AggAffHit model to query calendar table? Could you use this instead
    static getTrafficDailyHits(accountId, start, end) {
        const subquery = AggAffHit.query()
            .alias('h')
            .select('h.date', 'h.raw', 'h.unique')
            .joinRelation('site', { alias: 's' })
            .where('s.account_id', accountId)
            .andWhere('h.date', '>=', start)
            .andWhere('h.date', '<', end)
            .as('d');

        return Calendar.query()
            .select(
                'c.c_date as date',
                Calendar.raw('ifnull(sum(`d`.`raw`), 0) as `raw`'),
                Calendar.raw('ifnull(sum(`d`.`unique`), 0) as `unique`')
            )
            .alias('c')
            .leftJoin(subquery, 'c.c_date', 'd.date')
            .where('c.c_date', '>=', start)
            .andWhere('c.c_date', '<', end)
            .groupBy('c.c_date')
            .castTo(AggAffHit)
    }

Also moving the from call after leftJoin could do the trick.

No real reason other than that the calendar table is a one-field lookup table containing date strings and didn't feel like it needed it's own model. It's only purpose is to prevent holes in the data with the left join. Also, this particular method is inside the AggAffHit model, so I tend to use the containing model for .query(), .raw(), etc... calls. And, of course, up to v0.9.4 it just worked!
I tried a quick and dirty re-ordering, putting the from call after leftJoin, and it didn't work. I wouldn't want to rely on the order of method calls, anyway. It feels too easy to get wrong.
Adding a simple Calendar model does the trick:
/**
 * Calendar.js
 *
 * @description :: Model for the calendar table.
 */

'use strict';

class Calendar extends Model {
    static get tableName() {
        return 'calendar';
    }
}

module.exports = Calendar;

Using it as in your example produces the same SQL as v0.9.4, so it's a simple enough change. However, I think I'm going to have to look at every instance of how I use .from(). In the past, in certain cases, I've used Model.query().from() more like a generic knex instance (as in the original example). If the Model is more tightly coupled to changes of the table name, now, I may have to rethink some of it.
The change is understandable, though, and probably simplifies the objection code. I'm wondering if it diminishes the usefulness of the .from() method to the point where it's not needed anymore. Maybe we shouldn't be able to change Model tables on the fly like this. Prior to having the .alias() method, I used .from() a lot for table name aliasing, e.g. AggAffHit.query().from('agg_aff_hit as h') -- but, obviously, that's not necessary anymore.
The .from() method makes sense for knex, where there are no defined Models with associated table names. Are there legitimate use cases in objection for changing the name of the table being used by a particular model?

Are there legitimate use cases in objection for changing the name of the table being used by a particular model?

Views for example.

Ok. I'm not using views with mysql, so I don't know what that would look like. For my code, I have some fairly complex UNION ALL queries that are using .from(). For example:
// Create a UNION ALL of agg_aff_trans and agg_aff_hit as a derived table.
const derived = AggAffTrans.query()
    .select(
        'site_id as id',
        'type',
        'count',
        'amount',
        AggAffTrans.raw('0 as `raw`'),
        AggAffTrans.raw('0 as `unique`')
    )
    .where('affiliate_id', accountId)
    .andWhere('date', '>=', params.start)
    .andWhere('date', '<', params.end)
    .unionAll(function() {
        this.from('agg_aff_hit')
            .select(
                'site_id',
                AggAffTrans.raw('"I"'),
                AggAffTrans.raw('0'),
                AggAffTrans.raw('0'),
                'raw',
                'unique'
            )
            .where('affiliate_id', accountId)
            .andWhere('date', '>=', params.start)
            .andWhere('date', '<', params.end)
            .andWhere('landing_page', '!=', 2); // exclude 'Payment Gateway'
    })
    .as('d');

So, I'm thinking I should change this.from('agg_aff_hit').select() to just AggAffHit.select(). I think I was under the impression that I needed to use this inside the callback.
Anyway, I see that you've closed this issue, so I won't add anymore. I'll do some refactoring and let you know if I run into any problems.

I'm reopening this since it seems like there's something that we can do for this without breaking too much existing code. I'll post here when I know more. The changes could break some existing code, so any changes need to wait for 2.0. You need to refactor your code anyway.
It should be ok to use this the way you do in subqueries. The query builder created that way is a lower level wrapper, without any knowlege of models or relations. You can also use the first argument passed to that function if you want to use arrow functions instead. If you use a separate query builder, you should leave out the function.

I've already refactored everything and have it all working with v1.0.0 now.  😃
For the .unionAll() stuff, I was stuck thinking I had to use a callback based on the example in the knex docs. After looking through some of my other code, I realized I could just pass an objection object directly instead. So:
.unionAll(
    AggAffHit.query()
        .select(...)
)

which is simpler and works great, and I don't have to worry about the .from() method.
Any improvements to make it more flexible are good. However, I didn't find the changes I needed to make very difficult, so I wouldn't consider it a priority. Going forward, I will probably avoid using .from(). Creating a simple model, even for lookup tables, feels cleaner and easier to understand.

Nice to hear that the update wasn't a major PITA!
The fact that the table is inherited to subqueries feels like a bug, and I'll see if that can be changed back without breaking something else.


cannot find type 'PlatformView' in scope

When trying to preview an Apple Watch SwiftUI View in the canvas in Xcode, I get this error:
SchemeBuildError: Failed to build the scheme "WatchApp"

cannot find type 'PlatformView' in scope

Any ideas, how to fix this?

@luxio did you ever find a solution? 🤷♂

@luxio @moyoteg could either of you share a small reproducible project please? I'm not very experienced with watchOS development so I'm not sure which project set-up is required in order to reproduce this.

Closing due to inactivity. Anybody feel free to re-open with a relevant reproducible example so we can finally get to the bottom of it.

@davdroman I faced same problem and found issue related question with description and possible workaround for developers https://developer.apple.com/forums/thread/731732


Add SwiftParser's README to the exclude list

Exclude SwiftParser's README from its target to resolve the found 1 file(s) which are unhandled warning.

@swift-ci please test