Expanded Canon

Would you be willing to accept a merge request that adds the Greek Old Testament (Septuagint/LXX) books?
This would require a special case for the Psalms since the numbering is different in the LXX, Daniel because there is additional text, the addition of several books (e.g. 1-4 Maccabees), among other changes.

Wouldn't Psalms and Daniel be a matter of simply recognizing additional chapters (and verses) as valid references? The Psalms numbering doesn't map, but this library doesn't really deal with which text the numbers refer to--just recognizes the references and pulls them out, right? For that matter, the other book names should be just simple adaptations of existing code: e.g., 1-4 Maccabees would look like 1-3 John. This seems immanently doable--enough that I'm tempted to try.
I'm no LXX scholar. Is there anything I'm missing?
P.S., thanks a lot for the library, @davisd, it saved me a ton of time over several years.

@strawhead - Thank you for that!  I'm happy to hear that this tool has helped you.  I'm encouraged by some of the recent discussion here.  To answer your question about the numbering- the library does provide for validating scripture references based upon valid chapter/verse references.
@JeffMelton - Thank you for the work you've done in your fork.  I want to recognize you for that- you've taken the time to put together regex for books, etc.  I want to incorporate some of your work upstream.  I'd like to talk to you about the best way to do that within the framework discussed below.  I could copy/paste some of your code, but I'd much rather see your face on the commits.
I think that with the issue that @aletheist has opened regarding the expansion of books, along with some of the work that @JeffMelton has done on his fork- I see the following key issue to address:

Different people and use-cases need different text configurations

python-scriptures provides a very simple and effective interface to validating, extracting and normalizing biblical scripture references from blocks of text.  Right now, these references must  be in-line with the canonical books of the Old and New Testaments.
That configuration works great for my original intended use, which is on the www.centralbaptistfwb.com/sermons/ sermon archive to identify and highlight scriptures- and then link them to the appropriate books in the www.centralbaptistfwb.com/bible/ section.
If we were to incorporate @aletheist PR to change chapter/verse counts in the ot and nt dicts (for Psalms, Daniel), that would break my (and others I'm guessing) use-case.  If we were to incorporate Apocryphical/Deuterocanonical texts, that would also break my use-case, as now I may get scriptures highlighted/linking that I cannot link to (as the /bible/ section of the website only has the canonical texts).
And so, I am going to work to:

Provide a simple method/interface for specifying text configurations.

I want to secondarily:

Make extending the package's text configurations (Book regex, chapter/verse counts), and recognizing contributions very simple/straightforward
Not break the current API
Give a preferential default to the canonical text of the OT and NT.  In doing so, I will accomplish the goal of not breaking the API.

I intend to work on this today and post a new branch.  I will add some apocryphal texts as a starting point – and to demo.
I'm starting these changes right away and would love to hear any feedback on this and on the branch (when pushed).
Thanks again everyone,
-David

@davisd Things just got ecumenical! Your use case was identical to mine, so I can't argue with your planned defaults. Just a note, because I recently learned this: the Septuagint references aren't quite equal to the Roman Catholic OT + Deuterocanonical books. In case you need them, here is a list of the RC OT+D books:

Genesis
Exodus
Leviticus
Numbers
Deuteronomy
Joshua
Judges
Ruth
1 Samuel
2 Samuel
1 Kings
2 Kings
1 Chronicles
2 Chronicles
Ezra
Nehemiah
Tobit
Judith
Esther
1 Maccabees
2 Maccabees
Job
Psalms
Proverbs
Ecclesiastes
Song of Solomon
Wisdom
Sirach
Isaiah
Jeremiah
Lamentations
Baruch
Ezekiel
Daniel
Hosea
Joel
Amos
Obadiah
Jonah
Micah
Nahum
Habakkuk
Zephaniah
Haggai
Zechariah
Malachi

@davisd I'm glad you're able to give this some love, and I'd be glad to help how I can. I don't get a ton of time to play around with stuff like this, and my skill level might generously be described as "hobbyist"... but when you figure out where you want it to go and how you'd like my contributions to be presented, let me know. I'll do my best. :smile:

Ok, I came up with this as a potential solution (pushed to v3dev branch).
Defining a new "Text"
To define a new Text, you create a class that inherits scriptures.texts.base.Text and define the "books" class attribute.
So for example-
>>> from __future__ import unicode_literals
>>> from scriptures.texts.base import Text
>>> class MyText(Text):
>>>     books=[
>>>         ('Book 1', 'Bk1', 'Book(?:\s)?1|bk(?:\s)?1', [2,4,6]),
>>>         ('Book 2', 'Bk2', 'Book(?:\s)?2|bk(?:\s)?2', [7,8,9])
>>>     ]

Using your new Text
Once your Text class is defined- you can do:
>>> my_text=MyText()
>>> my_text.extract('Lets see if it finds bk1 2:2-4 and Book 2 3:9')
[(u'Book 1', 2, 2, 2, 4), (u'Book 2', 3, 9, 3, 9)]

All of the same helper functions are available- but now they are accessed from the Text instance

get_book
extract
is_valid_reference
reference_to_string
normalize_reference

Regex on Instances
Your instance also has some helper regular expression instance variables

book_re - will match books
scripture_re - will match scripture patterns

So, you can do:
>>> my_text.scripture_re.findall('Hi there- looking for Bk1 1 and Book 2 1:1-2')
[(u'Bk1', u'1', u'', u'', u''), (u'Book 2', u'1', u'1', u'', u'2')]

Library-provided texts
Under the scriptures/texts/ folder, there are a few files-

base.py
deuterocanon.py
kjv1611.py
protestant.py

base.py defines the Text class that new texts will inherit.  Each of the other modules contains a class that inherits the Text class.  The subclasses simply define the "books" class attribute.
Please take a look at these to see how to define new Texts.
As we need more texts, or variations of texts, we can simply create new modules under this /texts/ folder.
Making your own Texts
If you have a specific Text for your project that would not make sense to contribute to this library, you can define your own Text class and keep it to yourself.  No need to fork the project just for a new text! :)
API Defaults
To keep the previous API in-tact, the library declares a ProtestantCanon Text instance- so if you’re using the library per the current documentation w/2.x API (scriptures.extract(...), etc)- nothing changes.
Extending texts is trivial now- my explanation here may over-complicate it!  Please tell me what you guys think about this approach.
-David

@JeffMelton - Thank you! For starters- I'd like to give you attribution for your work on the Deuterocanon regex. Would you mind submitting a pull request that implements those books in the /scriptures/texts/deuterocanon.py module (on the v3dev branch) - per your 'deut' dict in bible_re.py ?  It should be nearly a copy-paste.
I may separate out the III and IV Maccabees to another deuterocanon2.py -  I don't think those are included in the KJV 1611 (which currently pulls in deuterocanon.py).  Then we can then associate both of those with new texts- maybe "RomanCatholicOrthodox" and "Septuagint"?  I'll need to do some research on that- we want to make sure that we get the texts right. Thank you @strawhead for pointing out some resources and emphasizing the numbering issues.
@aletheist  - I think this new setup will allow us to implement a Septuagint pretty quickly.  Would you like to contribute to that module in this new framework?
-David

I would be willing to contribute under this new framework.
Rather than a deuterocanon2.py we will probably need a septuagint.py. This is because the LXX is not a simple superset of the 66 book canon or the Deuterocanon. In a few books, the LXX inserts verses to Daniel directly whereas denominations that give primacy to the Masoretic text but still use the Deuterocanon usually have that as an appendix. The Psalm chapter/verse numbering doesn't match up. Proverbs is just a nightmare; the LXX version might as well be a different book from the Masoretic.
Using the strategy you outlined, I should be able to create an septuagint.py module that leaves books that are identical the same, so I will only need override books with different versification/length, and add other books (III, IV Maccabees, etc) correct?

It's not too much work, and I think you're right.  If we did that, it would really simplify overrides.

@davisd I'm going to pull in @mlv here, because he's actually who contributed that code to my fork. I think the deuterocanonical texts suit his use case better, and he's a much more experienced programmer than I am. If he's interested, he'll submit cleaner code than I will (and he may be able to get to it more quickly than I can).
If he can't, or isn't interested, I'll see what I can muddle through with.

My first thought when I read @davisd's v3dev post/idea was that I like it. Have all the books in a basic version, then add or change them as needed. I also agree that we need a septuagint.py. TBH, I haven't looked at this in a while and forgot that it wasn't a dictionary. But yes, it needs to be one, so that we can change or delete specific books as needed.
I don't think changing it to a dictionary is too hard. Changing the data itself is easy:
s/(([^,]*), (/
And most of the code changes are just adding .values() to self.books and tweaking indices.

In thinking more about it, I have a better idea of how to do the dictionary. Rather than:
books={
    'Book 1': ('Bk1', 'Book(?:\s)?1|bk(?:\s)?1', [2,4,6]),
    'Book 2': ('Bk2', 'Book(?:\s)?2|bk(?:\s)?2', [7,8,9])
}

keep the book name inside the dict, as in:
books={
    'Book 1': ('Book 1', 'Bk1', 'Book(?:\s)?1|bk(?:\s)?1', [2,4,6]),
    'Book 2': ('Book 2', 'Bk2', 'Book(?:\s)?2|bk(?:\s)?2', [7,8,9])
}

Disadvantage of this is that it breaks the duplication of information rule. But it means that all the existing code that accesses the information as a tuple works without changing. You just iterate through books.values() instead of books and it all works the same way.

@aletheist if you upload (with approval, etc), the LXX version, I'll convert the code to a dictionary.

There are two publicly available LXXs:
Brenton and New English Translation of the Septuagint.

I just updated the v3dev branch to treat "books" as dictionaries.
If you look under scriptures/texts, you will see several python modules implementing "Texts"
- contains the Protestant Bible data as it was, but now converted to a dictionary.
 - contains a basic Deuteronomical Canon.  Tobit is the only book implemented- the remaining books are listed as TODOs.
 - is the KJV 1611 - as you can see from that file, it simply combines the ProtestantCanon with the Deuterocanon and then adds books.
@mlv - if you would like to be recognized for your Regex efforts in this- would you mind submitting a pull request to implement the deuterocanon.py file using the new v3dev branch, under scriptures/texts ?
Once that is straight- the kjv1611 should be fully implemented.
We can then create a septuagint.py, which (I think) will implement the ProtestantCanon and the DeuteroCanon- and then will override the key/values for the various books (to change verse counts, etc).
@mlv- I like the idea of using the book's primary abbreviation instead of the full Book Name as the dict key, as it is easier to reference/less verbose. You're right, there is duplicate information, but it's not much, and I think the end result is very clean.
What are you guys thoughts?

@davisd Pull request submitted.

Thank you for that @mlv - it is much appreciated.  I merged your commits and made some updates.  I have been using the Crosswire OSIS abbreviations page for reference on abbreviations- https://crosswire.org/wiki/OSIS_Book_Abbreviations
We may have an issue with the "Esther (Greek)" / "Additions to Esther" / "Rest of Esther" in relation to the Deuterocanon and the KJV1611.  I might be getting these mixed up/crossed.  I will try to research this out a bit more tonight.  If you have some insight/links resources, would you mind posting?
Thanks again.

For the sake of getting this work posted before the new year, I went ahead and tagged v3.0.0 at 7c19af4.
This release implements and documents the new method of defining/extending Texts.
Thanks to everyone involved for helping get this posted (@aletheist, @strawhead, @JeffMelton, @mlv)!  If I get pull requests for additional texts (Septuagint, Vulgate, etc)- I will review, pull, maybe edit, and certainly post!
I'm going to close this ticket.
Happy New Year!
-David


XML: Unable to reference Attribute instead of Value.

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
I am trying to read or write an XML Attribute using updatecli.
But not finding the value. According to XPath it's a valid query.
Error:
SOURCES
=======

xml
---
ERROR: ✗ cannot find value for path "/a/b/@MyVal" from file "test.xml"
ERROR: ✗ cannot find value for path "/a/b/@MyVal" from file "test.xml"
Pipeline "Test XML" failed
Skipping due to:
	sources stage:	"cannot find value for path \"/a/b/@MyVal\" from file \"test.xml\""

See further for example files.
Expected Behavior
Source: reads 1 from XML
Target: writes 1 into MyVal of /a/c
Steps To Reproduce
test.xml

  1
  <c MyVal="2">2</c>

updatecli.yaml
name: Test XML

sources:
  xml:
    name: Read Attribute from XML
    kind: xml
    spec:
      file: test.xml
      path: "/a/b/@MyVal"

targets:
  xml:
    name: Change Attribute in XML
    kind: xml
    spec:
      file: test.xml
      path: "/a/c/@MyVal"

run updatecli diff
Environment
- OS: macOS Sonoma 14.4.1
- updatecli: 0.85.0

Anything else?
No response

Thanks for a swift reply, @olblak!
We are trying to change csproj file from dotnet here.
Would it make sense for us to experiment with another XML library? Is this something that could get merged?
Otherwise using shell is probably way to go, right?

Thanks for a swift reply, @olblak!
We are trying to change csproj file from dotnet here.
Would it make sense for us to experiment with another XML library? Is this something that could get merged?
Otherwise using shell is probably way to go, right?

We could use another golang library if you know one, that's something we did for the yaml  plugin.

It seems to be supported in antchfx/xmlquery, but I am not sure if it's helpful on the writing side.

Hey thanks, for sharing that library. I am not familiar with it.
After a quick look, it may be difficult to use for updating xml files versus fetching information from a XML
I'll try to investigate


fixed getconicdual bug

There seemed to be some indentation errors in getconicduals function.

Thanks! I guess these lines were never tested?

I think we should probably add the current problem as a test case. I will do that.

Thanks, the new test case should go here: https://github.com/JuliaOpt/MathProgBase.jl/blob/master/test/conicinterface.jl


Tensorflow Keras - ValueError: Graph disconnected: cannot obtain value for tensor Tensor

Please help me fix this error below:
my Tensorflow version is 2.2.0
def get_model(input_shape):
input1 = Input(shape = (*input_shape, 3), name = 'input_1')

i2 = Input(shape = (*input_shape, 3), name = 'input_2')
input2 = L.MaxPooling2D(2)(i2)

i3 = Input(shape = (*input_shape, 3), name = 'input_3')
input3 = L.MaxPooling2D(4)(i3)

base1 = DenseNet201(weights = 'imagenet', include_top = False)(input1)
base2 = DenseNet201(weights = 'imagenet', include_top = False)(input2)
base3 = DenseNet201(weights = 'imagenet', include_top = False)(input3)

x1 = L.GlobalAveragePooling2D()(base1)
x2 = L.GlobalAveragePooling2D()(base2)
x3 = L.GlobalAveragePooling2D()(base3)

x = L.concatenate([x1, x2, x3])
out = L.Dense(train_targets.shape[1], activation = 'softmax')(x)

model = Model(inputs = [input1, input2, input3], outputs = out)

return model

with strategy.scope():
model = get_model(IMAGE_SIZE)
model.compile(
optimizer = 'adam',
loss = 'categorical_crossentropy',
metrics = ['categorical_accuracy']
)
model.summary()
And the error message is below:

ValueError                                Traceback (most recent call last)
 in
1 with strategy.scope():
----> 2     model = get_model(IMAGE_SIZE)
3     model.compile(
4             optimizer = 'adam',
5             loss = 'categorical_crossentropy',
 in get_model(input_shape)
28     out = L.Dense(train_targets.shape[1], activation = 'softmax')(x)
29
---> 30     model = Model(inputs = [input1, input2, input3], outputs = out)
31
32     return model
/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py in init(self, *args, **kwargs)
165
166   def init(self, *args, **kwargs):
--> 167     super(Model, self).init(*args, **kwargs)
168     _keras_api_gauge.get_cell('model').set(True)
169     # Model must be created under scope of DistStrat it will be trained with.
/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py in init(self, *args, **kwargs)
171         'inputs' in kwargs and 'outputs' in kwargs):
172       # Graph network
--> 173       self._init_graph_network(*args, **kwargs)
174     else:
175       # Subclassed network
/opt/conda/lib/python3.7/site-packages/tensorflow/python/training/tracking/base.py in _method_wrapper(self, *args, **kwargs)
454     self._self_setattr_tracking = False  # pylint: disable=protected-access
455     try:
--> 456       result = method(self, *args, **kwargs)
457     finally:
458       self._self_setattr_tracking = previous_value  # pylint: disable=protected-access
/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py in _init_graph_network(self, inputs, outputs, name, **kwargs)
305     # Keep track of the network's nodes and layers.
306     nodes, nodes_by_depth, layers, _ = _map_graph_network(
--> 307         self.inputs, self.outputs)
308     self._network_nodes = nodes
309     self._nodes_by_depth = nodes_by_depth
/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py in _map_graph_network(inputs, outputs)
1790                              'The following previous layers '
1791                              'were accessed without issue: ' +
-> 1792                              str(layers_with_complete_input))
1793         for x in nest.flatten(node.output_tensors):
1794           computable_tensors.add(id(x))
ValueError: Graph disconnected: cannot obtain value for tensor Tensor("input_3_6:0", shape=(None, 256, 256, 3), dtype=float32) at layer "input_3". The following previous layers were accessed without issue: []

This is the GitHub repository for Adobe's IDE. If you need help with tensorflow check out the tensorflow repo.


Sonar Issues

Here is the results of sonarscan: sonarscan
I would suggest if we divide by category like critical, major, minor

Do note that Sonar issues are divided by Bug, Vulnerability, and Code Smell too.
Plus, I wonder if the task of raising issues can be automated?

Do note that Sonar issues are categorized by Bug, Vulnerability, and Code Smell too.
Plus, I wonder if the task of raising issues can be automated from Sonar -> GitHub? That could save us some time before moving on to fixing each one.

yeah...It would be nice so that it will be easy to us to delegate this issues

Seems it can't be "automated", but I do can improve the workflow behind it.
I will create two more issue templates

One of them specifically for "importing" Sonar issues plus linking to them
Another one to raise test requests in a similar fashion to #161 and others


Add support for expressions within template literals

Fixes #25

fyi this patch doesn't allow expressions in the selector name like .col-${xsmall} not sure if that's necessary or that useful.

Waiting for this to land. 🚀

@rauchg, @nkzawa I think that this branch is ready for review.
Let me know if you need context but hopefully this solution makes sense and it is not too dumb :)

Are we erroring upon usage of vars from the closure?

No but we could although it might add some overhead or be not that straightforward if we keep allowing things like call expressions

basically you want to make sure that people don't use props right?

Correct. If this doesn't fail it will create extremely difficult-to-understand bugs to the uninitiated:
export default ({ some, props}) => {

}

@rauchg any identifier in the scope or just props?
export default () => {
  const some = 'red' // allowed or not?

  return (

)
}

@rauchg any identifier in the scope or just props?
export default () => {
  const some = 'red' // allowed or not?

  return (

)
}

I'd block anything from the scope. After all, if it's a constant, you should probably syntactically move it outside the scope…

I'd block anything from the scope. After all, if it's a constant, you should probably syntactically move it outside the scope…

Needs rebase

@rauchg you got it

Any updates on this? 🚀

@sarukuku I haven't had a lot of free time recently. Anyway we want to benchmark this before merging – I will try to push a minimal benchmark today after work.

301 to #80 :)


3-D to 3D

According to style guide, it should be written '3D': https://styleguides.azurewebsites.net/Styleguide/Read?id=2700&topicid=28784
Also, I lost power/wifi for a couple hours today, so I did a bunch of chore work like this that I could do offline.

Thanks for the review, Andy.


Sync balance between substrate & pallet-vm

The substrate balance for substrate account address is not sync to the corresponding EVM account address at pallet-vm.
Current conversion from substrate account to EVM account:
https://github.com/ParaState/frontier/blob/ssvm/frame/vm/src/lib.rs#L169-L184
Current conversion from EVM account to substrate account:
https://github.com/ParaState/frontier/blob/ssvm/frame/vm/src/lib.rs#L200-L209
We need to find a way to sync balance between substrate & EVM accounts.

這是目前 charge gas fee 的架構, ① ② 是有想到可能可以改進的地方

The upstream VM frame is upgraded to frame v2, should we take this into consideration?
https://github.com/paritytech/frontier/pull/380

paritytech#380

In progress on migrate branch.
still working on fix remain ts-tests cases fail.

Update: Merge official frontier/master latest version 6e2e908 into ssvm done in #20
(including paritytech#380)

After discussion, the issue is invalid and there will be other issues to address the business problem.


Add a small code optimization

Signed-off-by: devincd<EMAIL_ADDRESS>[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@devincd: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
92db8790b209b7757cd4bb2739e92362d43ae966
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Update clang-format version

Current clang-format is version 8, circa 2019. Update to a newer version to support system clang-format executables available in packages and also provide a ARM macOS binary.

[ ] Update the ITK/.clang-format style configuration file
[ ] Update CMake and shell scripts used for running clang-format: CMake/Clang.cmake*, Utilities/ClangFormat/DownloadClangFormat.cmake, Utilities/Maintenance/clang-format.bash, Utilities/Maintenance/git-clang-format.
[ ] Re-run on the source tree.
[ ] Update the module in ITKSphinxExamples

I have recently been looking into use pre-commit with the clang-format hooks, which pulls clang-format from pypi

Yes, possibly we just go to pre-commit. Discussed more in https://github.com/InsightSoftwareConsortium/ITK/issues/4235


Ability to track moving target element?

Hi! First of all, thanks for building such a great package. I'm trying to build an onboarding tutorial in my app's VueFlow editor, however given that the user can pan and zoom within the editor, certain target elements pointed to by the tour may move around the screen. There unfortunately appears to be no way of updating a step's position (or have it reattach to the target). So, it was be awesome to have an update method exported by the useVOnboarding hook that I could repeatedly call on viewport change. If there are any existing workarounds to this, please let me know!

I was able to come up with a workaround for my specific usecase using the onMove VueFlow hook:
onMove((flowTransform) => {
  const stepElement = document.querySelectorAll('[data-popper-placement]')?.[0];
  const viewportTransform = flowTransform.flowTransform;
  const deltaX = viewportTransform.x - previousViewport.x;
  const deltaY = viewportTransform.y - previousViewport.y;

  if (stepElement) {
    const transform = stepElement.style.transform;
    const match = /translate3d\(([^,]+)px, ([^,]+)px, ([^,]+)px\)/.exec(
      transform,
    );
    if (match) {
      const currentX = parseFloat(match[1]);
      const currentY = parseFloat(match[2]);
      stepElement.style.transform = `translate3d(${currentX + deltaX}px, ${currentY + deltaY}px, 0px)`;
    }
  }

  previousViewport.x = viewportTransform.x;
  previousViewport.y = viewportTransform.y;
});

This feels like overkill though.

Hi @spencerjsmall
Sorry for getting back to you so late on this one!
I think I have a good solution for you - you can handle the moving elements by tweaking the Popper.js modifiers in the options. Here's what worked for me:
const options: VOnboardingWrapperOptions = {
  popper: {
    modifiers: [
      {
        name: 'applyStyles',
        enabled: true,
        fn: ({ state }) => {
          Object.assign(state.elements.popper.style, {
            // You can dynamically update these values based on your viewport changes
            left: '100px',
            top: '200px',
            position: 'absolute'
          });
        }
      }
    ]
  }
}

See: https://popper.js.org/docs/v2/modifiers/apply-styles/
I'm closing this issue now, but feel free to reopen if you need any clarification or if this solution doesn't work for you! 👍


In perspective view, cursor hot spot is not centered

In perspective view, the cursor hot spot is on the left tip of the +, not the center. In slice views, it is in the correct spot. This is on Chrome in OS X.

I think this may have been due to an offset in the rendering, and may have been fixed by 775a88347154be96b6af6aaee99655cf9caf2890.  Can you let me know if this problem still exists for you?

It is fixed for me now, thanks!


fix: rapid cmdline_show/cmdline_hides would not be handled logically

Replaces #2081
Fixes #2079
I came up with this idea a little while ago, but haven't had the chance to sit down and implement it. Ultimately, most problems with our two-way cmdline sync originats from the fact that a cmdline_hide can be sent before the quickpick actually executes a hide event, or vice versa. Attempting to  manipulate the events to "ignore" is error prone, given this ordering problem.
To repeat myself a bit from the linked comment, the "idea" is that we can handle cmdline events in batches. Once we receive a cmdline_hide event at level 1 (i.e. no nested command lines), we can consider the current batch "terminated", and begin queueing up events. Then, when we get a VSCode "hide" event, we can flush the batch, and continue processing events.
A screencast showing some usage of the vim sandwich plugin, and various simple commandline usages
https://github.com/vscode-neovim/vscode-neovim/assets/977151/9fb86d8c-d180-470d-910f-ab18d046c574

There are several typos in the comments, can you go through them (and also try to make less verbose where applicable).

Heh, sorry about that. I wrote this before breakfast so I wasn't at my sharpest writing-wise :sweat_smile:


52 intermediate PR to update 52-decrease-sync-cycle-2 from staging

Ticket
Description
Screenshots / Demo Video
Testing
Checklist

[ ] Provided ticket and description
[ ] Your PR title contains the ISSUE ticket number e.g "86: ..."
[ ] Provided screenshots/demo
[ ] Provided testing information
[ ] Provided adequate test coverage for all new code
[ ] Run automated tests (docker compose exec app yarn test)
[ ] Added PR reviewers
[ ] Ensure at least 1 review before merging

Wrong branch


FAQ:  2 . 0 . 7 How do I specify the processors I want to use?

Original issue: https://charm.cs.illinois.edu/redmine/issues/1596

update for multcore and smp

Original date: 2017-07-28 12:32:06

Bump, the release is expected to be out next week.

Original date: 2017-08-01 20:20:55

~~https://charm.cs.illinois.edu/gerrit/#/c/2850/~~ https://github.com/UIUC-PPL/charm/commit/7df7a010676883b798128f396ab384874d709c29


Bar chart / Wrong Y axis

Hi,
As you can see in the screenshot below the Y axis is wrong, you can see that "5" is shown twice and the Y axis horizontal lines are not aligned with the bars. (The 6 bar for example is half between the 5 and 6 Y axis line).

Regards.

+1
Also noticed this with certain linecharts.


Fix method name collisions with UseStaticImport

Ensure that an import static is not created if a method with the same name already exists, either locally (this fixes this to take into account package name) or already imported statically.

https://github.com/openrewrite/rewrite/issues/4304

This adds failing tests for now.

Thanks for kicking this off @protocol7 ; was triggered to have a look, and hope you don't mind me solving this one.
I only just now saw your https://github.com/openrewrite/rewrite/issues/4304#issuecomment-2211719725

I think extending the preconditions with a separate visitor that looks at static imports used might be best

I'm not sure how to define this. I gather I could use UsesMethod, but not sure how to write the method pattern in a way that includes any other method named, say, "foo", except for the method we are trying to rewrite.

You'll see I went for defining a new visitor that specifically looks for other static imports of the same name, and if found return a search result indicating that the Precondition.not should not visit the source file further. Hope that helps you on a future recipe!
https://github.com/openrewrite/rewrite/blob/f4da66ae5a48bed24ec3d889e42b5e2761f8975e/rewrite-java/src/main/java/org/openrewrite/java/UseStaticImport.java#L64-L72

Perfect, thanks for finishing this one up!


add rate limiting functionality

Please describe the Improvement and/or Feature Request
Design and implement rate limting.

[x] Local rate limiting (Phase1)

[x] Design doc
[x] Implementation
[x] Documentation

[ ] Global rate limiting (Phase 2)

[x] Design doc
[x] Implementation
[x] Documentation

Possible use cases
Users should be able to specify rate limiting policies for traffic.

The core functionality is now complete.


[Feature] Mention people in post

Description
Like other social media apps i think it would be great if we add the tag feature in post section which will increase the website usage more.
Screenshots
No response
Checklist

[x] #87
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Hey @YadlaMani  I am assigning this issue to you
you can start working on this issue
Happy hacking ✨

@Nishitbaria can you make it level 2 i should also change the model of the post and have to do significant changes in the code


Add Modified highlight group

This is similar to the change made in #36 however the requirement of the the indicators option being enabled is not present in this change, and the precedence is different.
I think this should line up more with @ap's thinking on how this should work.

Hi, thanks for taking the time to do this. The reason #36 never went anywhere is that @wmonk never replied about whether he had a specific reason to pick the precedence order he chose (and if so, what it was). I still wish I knew, but I guess no answer can be expected now.

I think this should line up more with @ap's thinking on how this should work.

I’m afraid not… sorry. 😕 It just limits the Modified highlight so a buffer will never be highlighted that way unless it’s the Current buffer. So it is sort of the inverse of #36: in order to get a colour indication of whether a buffer is modified, you have to first navigate to it. Is that in actual fact how you want it to work…? I’m trying to understand. So far out of two patches I’ve gotten for this, both of them seem obviously bizarre to me (in completely opposite ways)… am I the weird one?
Maybe Current/Active/Hidden should stay as they are and instead be augmented by a set of ModifiedCurrent/ModifiedActive/ModifiedHidden highlight groups? But of course then I start to wonder about the combinatorial explosion that would result from trying to support other buffer states in this way. And then of course I wonder if my concern is unnecessary – after all, indicators has never been expanded to display any other state than the modified flag.
Hmm.

Personally I think it would be good to simply support the simplest version of this functionality first, and if users ask for more configuration then consider this.

The thing is… effectively users already have. You explained that you do, in fact, want it working the way it works according to your patch. But what you want is substantially different from what @wmonk apparently wants… and, as I said, both of these are substantially different from how I would expect the feature to work. That seems like a strong first-approximation indicator that there will be several distinct camps among users of this feature. So I’m not feeling inclined to implement an approach that will work only for one of us. (I’m not happy that this means I’m currently implementing nothing, which works for none of the potential users… but…)

The thing is… effectively users already have

In that case, someone may submit a patch that supports this case and another case, where the review for an elegant design can happen then right? For now I would argue that this feature is good enough. Especially considering the vim-airline buffer line extension does the same thing.

someone may submit a patch that supports this case and another case, where the review for an elegant design can happen then right?

Feel free to do the honours! Start from the patch in #36 and make a change to it to support the way you want this feature to work. If you want to accommodate how I thought it should work, then even better. 😊 Then we can take a look at how well it works.
Personally I consider it a failure on my part to leave single-feature requestors to figure out how to integrate the feature they want with all the other features the code base already implements. Particular if every feature is designed in isolation. Inevitably their own patch is not going to accommodate anything much more than the one particular thing they needed. Leaving the next requestor to figure out how to fit their feature into that combination. And so on…

For now I would argue that this feature is good enough.

Which one? Yours, #36, my initial proposal, or my revised unified proposal? If “good enough” is the bar then it’ll be my good enough, i.e. my initial proposal. Will that good enough work for you?

Especially considering the vim-airline buffer line extension does the same thing.

Huh. Let’s see…
https://github.com/vim-airline/vim-airline/blob/a0298263b7fd55827839862ffd3a8d5b2a787a5c/autoload/airline/extensions/tabline.vim#L184-L202
Interesting. Looks like it implements my revised proposal: there is airline_tabmod and airline_tabsel for the current buffer, and airline_tabmod_unsel vs airline_tab for non-current buffers, i.e. there is a highlight group for every combination of selection-state × modified-state of a buffer. (Except that Airline apparently doesn’t have a “visible in some window but not the focussed window” selection state.)
Thanks for the pointer! That at least reassures me that if it’s a mistake to multiply out the highlight groups like that, at least I won’t be the only one who made that mistake. 😊 (Also, another thing I retrospectively find Airline having beaten me to… grumble grumble. 😊)

then it’ll be my good enough, i.e. my initial proposal. Will that good enough work for you?

In that case I think I will continue to use my fork. Unfortunately I don't have too much spare time to work on this right now.
I understand though. Thank you for your time @ap

No worries. I will be implementing the revised / same-as-Airline proposal has soon, which will be possible to configure like you prefer, at which point you’ll be able to revert to upstream instead of maintaining a fork (if you choose to).


Caching correlation results

Holy crap I actually got it to work. This took so much fighting the borrow checker and deciphering error messages. Thank you lazy_static for finally saving the day.
@mmailhot

Good catch, I forgot that now that we copy the data I don't need to keep the cached locked up so that pointers into it stay valid. Fixed now.


Why not GCC support?

I found the Filament project very interesting, but I am having difficulty integrating it with other systems that are typically compiled with GNU C/C++ compilers.
Currently, the Filament project supports only Clang and libc++. Is there a specific reason for this choice? Are there any plans to support GNU compilers in the future?
Additionally, I am interested in building the project with Bazel. However, the project structure is complex, and it is challenging to create the necessary BUILD files. Is there any chance of adding Bazel support to this project?
Thank you for your time and consideration.

We don't have any plans to support gcc and Bazel at this time.


FSharp.NativeInterop links to incorrect document on home page

FSharp.NativeInterop link on https://fsharp.github.io/fsharp-core-docs/ links through to https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq.html instead of https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop.html

I just updated this link in the index.md, and after the pipeline finished it should push out to the live site.

Awesome thanks!


Support linking to individual methods

When discussing the spec of a single RPC method it would be nice if you could link directly to it, which is not currently possible

Yep this seems nice. #431 would solve this, I'll try to look into it a bit.

duplicate of #65 it turns out


Feature Request: show seed pubkey

It would be really great if this app could allow you to input an aezeed and respond with the node pubkey, as a way of checking a seed on an offline machine and matching to a node.

I think it would make sense to port some of the functionality of chantools over to lndinit. Some of those commands I only built into that tool because they weren't "worthy" of going into lnd directly. And since lndinit also kind of fits that role, that would make sense.
What do you think, @thinkmassive and @Roasbeef, should I port some of these commands over to lndinit?

dumpbackup (dump/decrypt content of SCB file)
compactdb (external/manual DB compaction)
derivekey --identity (derive identity public key from seed to check seed backup integrity)
migratedb (external/manual DB migration to latest version of lnd)

Yes, these are all related to "LND initialization" and would be welcome additions to lndinit in my opinion.

SGTM to add these. I guess one open question is if we start to add these features, what's the main line we'll want to draw in the sand between chantools and lndinit?

Good question. I would propose that everything that could be used during normal operations (in a production environment) should be in lndinit. And everything that's disaster recovery or edge case handling should remain in chantools.


Redundant Conformance on Protocol Equatable

Jack,
I'm getting an error on Dwift.swift line 131 under xCode 9GM, after Swift 4 conversion
public static func diff<Section: Equatable, Value: Equatable>(lhs: SectionedValues<Section, Value>, rhs: SectionedValues<Section, Value>) -> [SectionedDiffStep<Section, Value>]

and I'm certainly not smart enough to fix it without breaking everything.  Any help greatly appreciated.
Thank in advance

@wm-j-ray There is a swift 4 branch that takes care of this.
If you can't use that using something like
pod 'Dwifft', :git => 'https://github.com/jflinter/Dwifft.git', :branch => 'swift4'

Then you can change the line
public static func diff<Section: Equatable, Value: Equatable>(lhs: SectionedValues<Section, Value>, rhs: SectionedValues<Section, Value>) -> [SectionedDiffStep<Section, Value>] {

to
public static func diff<Section, Value>(lhs: SectionedValues<Section, Value>, rhs: SectionedValues<Section, Value>) -> [SectionedDiffStep<Section, Value>] {

Got it. Thanks so much.
On Sep 19, 2017, 3:40 PM -0400, Jon Rexeisen<EMAIL_ADDRESS>wrote:

@wm-j-ray There is a swift 4 branch that takes care of this.
If you can't use that using something like
pod 'Dwifft', :git => 'https://github.com/jflinter/Dwifft.git', :branch => 'swift4'
Then you can change the line
public static func diff<Section: Equatable, Value: Equatable>(lhs: SectionedValues<Section, Value>, rhs: SectionedValues<Section, Value>) -> [SectionedDiffStep<Section, Value>] {
to
public static func diff<Section, Value>(lhs: SectionedValues<Section, Value>, rhs: SectionedValues<Section, Value>) -> [SectionedDiffStep<Section, Value>] {
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


No accessories displayed in homekit with Hoobs

Hello,
I'm using Hoobs and the certified plugin 5.6.12.
It seems there are no error in homebridge log, but I can't see any accessories in Home app, controller or Eve.
You mention that there is a possible configuration incompatibility with hoobs.
Is there something that I can do?

Are you add it to homekit as in readme described?

yes

Can You enable debug mode and get the log after HB restart?

It's working now!
In Home app when I enter the PIN, a bridge and an accessory are displayed.
When I choose the bridge, it doesn't work, but when I select the accessory, it's OK.


A method for forcing the initialization of the value other than just deref?

I'm using lazy static with an initializer that might fail runtime (checking an env var and panicking if it's not set up correctly). I want to ensure that the values are set up early in my application: either it should work or error at startup. To this end, I dereference my lazy statics as a part of my init routine.
However, I recently run Clippy on my code, and it complains about this:
warning: statement with no effect, #[warn(no_effect)] on by default
   --> src/helpers.rs:325:5
    |
325 |     &*DATABASE_URL;
    |     ^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#no_effect

Indeed, a plain deref doesn't even communicate the intent properly (the derefs are wrapped in function whose name communicates it, but that's irrelevant here). Would it make sense to have a method that forces the initialization, for communicating the intent?

Forgot to mention: there is a workaround for silencing Clippy (other than allow): let _ = &* DATABASE_URL;

Hi, I'm sincerely sorry for taking so long to respond.
Seems like a reasonable thing to add, I'll experiment a bit.

I added a function for this in the new release.


Is there a way to attach a Debugger to the call_api Python External Provider

I was following this guide to implement a custom local provider of LLMs https://www.promptfoo.dev/docs/providers/python and seem to have some issues that I would love to debug.
My implementation :
    # context_instance contains both the system and user prompt for a task
    output = call_llm(context_instance, model=model, tokens=tokens, temperature=temperature)

    # The result should be a dictionary with at least an 'output' field.
    result = {
        "output": output,
    }
        }
    logger.error(f"DEBUG >>  {output}")
    logger.info(f"DEBUG >>  {result}")

    return result

When checking the logs the results is correctly populated however later in node_modules\promptfoo\dist\src\providers\pythonCompletion.js:52:36 the value is null.
I was wandering how can I breakpoint promptfoo there and then attach a Python debugger ?
Expected Results
The outputed result is neatly displayed in the table and promtfoo works normally.
Actual Results

question
[Development Phase ] Tests

Give me list of Failed Transactions
[FAIL] TypeError: Cannot use 'in' operator to search for 'output' in null

TypeError: Cannot use 'in' operator to search for 'output' in null                                                                                at PythonProvider.executePythonScript (npm\node_modules\promptfoo\dist\src...

https://github.com/promptfoo/promptfoo/pull/957 improves the error message here
Can you run your eval with LOG_LEVEL=debug environment variable set?  That will help understand the root cause.
LOG_LEVEL=debug promptfoo eval

Hey @typpo  thanks for the quick response I managed to identify the issue without much debugging so now it's working normally and running LOG_LEVEL=debug would not yield something relevant.
However I still think it would be great for the application/developer community if there was a way to quickly attach a debugger to your custom code. Thank you !

Would be sweet to be able to hit a import pdb; pdb.set_trace() breakpoint. Currently you get an exception
Error running Python script: bdb.BdbQuit
Stack Trace: Error: bdb.BdbQuit
    at PythonShell.parseError (/home/discord/.npm/_npx/81bbc6515d992ace/node_modules/python-shell/index.js:303:21)
    at terminateIfNeeded (/home/discord/.npm/_npx/81bbc6515d992ace/node_modules/python-shell/index.js:193:32)
    at ChildProcess.<anonymous> (/home/discord/.npm/_npx/81bbc6515d992ace/node_modules/python-shell/index.js:185:13)
    at ChildProcess.emit (node:events:518:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12)
    --Python Traceback: --
    File "/home/discord/.npm/_npx/81bbc6515d992ace/node_modules/promptfoo/dist/src/python/wrapper.py", line 34, in <module>
      result = call_method(script_path, method_name, *data)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/discord/.npm/_npx/81bbc6515d992ace/node_modules/promptfoo/dist/src/python/wrapper.py", line 24, in call_method
      return method_to_call(*args)
             ^^^^^^^^^^^^^^^^^^^^^
    File "/home/discord/github.com/discord/discord/discord_api/discord/lib/admin/cx_autopilot/promptfoo.py", line 36, in call_workflow
      print(prompt, options, context)
      ^^^^^
    File "/usr/lib/python3.11/bdb.py", line 90, in trace_dispatch
      return self.dispatch_line(frame)
             ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/bdb.py", line 115, in dispatch_line
      if self.quitting: raise BdbQuit
                        ^^^^^^^^^^^^^```

Hey @SysOverdrive, thanks for the remote-pdb suggestion and for your patience! I just added some notes about debugging in https://github.com/promptfoo/promptfoo/commit/41cc82b2489efce4b167ebb25cc8cc6bcaf667b9, which should help clarify how to debug custom Python providers. We've also improved logging functionality - running with LOG_LEVEL=debug or using the --verbose flag should now provide more visibility into what’s happening.
I'm closing this issue, but if you're still encountering problems or have more suggestions, feel free to reflag or comment. Thanks again for your contributions and feedback!


Add Sushil and Sachit's key

Sachit and Sushil are member of Jio Cloud security team in RCP Mumbai.

Can one of the admins verify this patch?

ok to test

please test this

please test this

tests passed, merging.


Contribution: Fail Icon

The name of the icon is "fail". It's going to be used when an action/event fails. The following .zip has the svg and an image of what it looks like.
fail.zip

Hi @emily827 thank you for bringing this up! Does http://www.carbondesignsystem.com/assets/icons/close--outline.svg satisfy your requirement? Another info which may be worthwhile is you can use your custom icon in carbon-components-react's <Icon> component, by using a JSON data from SVG (XML) with a conversion, as <Icon>'s icon prop. Data format examples can be found at<EMAIL_ADDRESS>Thanks!

Hi!
Yes, that one satisfies my requirement. Sorry, I missed that one.


Create a custom mouse pointer for the game and make it change color depending on the intent.

Description
Common issue from SS13 itself is not realizing you're in harm intent and accidentaly smashing/killing/shooting, this feature should make the player more aware of the current intent to avoid oopsies.

Screenshots
Awful Example of:
 Harm
 Disarm

Additional context
There could also be a variant that says you can't interact, either because the hand selected is "off-hand" or crippled.

Kind of a duplicate of #3429

ill keep both up


Backport #19924 to v1.23.x

Prevent HTTP2 parser from queueing a lot of induced frames - SETTINGS ACK, PING ACK, RST_STREAM

Basic Tests C++ iOS  - https://github.com/grpc/grpc/issues/19949
Basic Tests Node MacOS - https://github.com/grpc/grpc/issues/19422,
Basic Tests C/C++ MacOS - https://github.com/grpc/grpc/issues/19819


Query store is not updated during client side navigation

Edit: sorry this got so long, omg
This must have something to do with the store api as the behavior (or rather bug) only occurred after upgrading from before 0.15.
As you might have already noticed in my project I'm building a shop. So for context and better understanding: there are product overview pages (search results, catalogs, ...) which link to individual product pages.
I noticed the bug because each product links to related products but clicking on the links just "redirects" back to the same product. Quotes because it is not a real HTTP redirect but the client side sveltekit thing.
Ok, now my analysis:
On the product page (which lives in [id=integer]-[...wayne].svelte) I execute the query GetProductPublic($id: Int!) { productById(id: $id) { id ...ManyFragments } } which naturally queries the database for the product with the id passed in the url.
This query is an inline query so I used the afterLoad hook to check if the product exists (if (!data.GetProductPublic.product) {) and whether the passed slug is the same as in the database (if (params.wayne !== data.GetProductPublic.product.slug) {) and redirects otherwise.
I inserted some debugger; statements to debug the flow and noticed that the fetch function of queryStore decides whether to update the store:
https://github.com/HoudiniGraphql/houdini/blob/30ed45a772b7294fdc6eac9ac92aec5aa3f2b91b/src/runtime/stores/query.ts#L206-L212
and this is false

on browser; and
in a route; and
with already set variables; and
changed variables

This does not seem correct? I think it really should update the store if the variables changed (which I verified they do).
Also I do not understand the reasoning why not to update in the browser?

I thought the problem is related to afterLoad not getting the latest data or the likes so I tried using the store API with an external query. load now looks like this (which should be equivalent to the load generated by the preprocessor + my afterLoad):
  export const load: Load = async (event) => {
    const { data } = await GQL_GetProductPublic.fetch({
      event,
      variables: { id: parseInt(event.params.id, 10) },
    });

    if (!data?.product) { // (1)
      return {
        status: 404,
        error: 'Wir konnten das gewünschte Produkt leider nicht finden...',
      };
    }

    if (event.params.wayne !== data.product.slug) {
      return {
        status: 301,
        redirect: productUrlPublic(data.product) + event.url.search,
      };
    }

    return {};
  };

But now even stranger things happen:

Visiting a product page from the overview with an empty cache (i.e. after F5) returns a 404. This is probably due to (1) as the store is empty at the start.
Going one page back and one page forward (which are client side navigations) now show the correct data. Which means the sore seems to be loaded now.
Going back again and visiting a product with a different slug results in an error Redirect loop. After this client side navigation still works (going back) and going back again to the product with the loop now works... After going back and forward a few times I can reproduce this (maybe something with the cache size?).
Now stranger: Going from one product to a related product does update the page contents but not the url, not even the id part... Now client side navigation still works but seems really borked and after some backs and forwards I am greeted by the redirect loop again.

I think the problem of not updating the query store remains the same...

sorry this got so long, omg

ha! No problem at all. It's really useful to have all this info out of the way at first.

only occurred after upgrading from before 0.15.

yea that's almost certainly the case, life pre-0.15 is a lot simpler than it is now since the generated load was all that mattered then. we have a whole new categories of edge cases to deal with (see below)

Also I do not understand the reasoning why not to update in the browser?

Okay, so in order to get a feeling for that boolean expression, the important thing to notice is that a prefetch that targets a different URL powered by the same route you are on will fill the same store if we aren't super careful. To be concrete, if we are looking at /product/1 and hover over a prefetched link to product/2 we need to make sure that the store does not update with info for product 2. In order to do this, we use the fetch that happens inside of the client to keep track of which set of variables the current view holds. If a request comes into the load function that does not match the variables that the component fetch is using, we don't update the store. The variable isComponentFetch is not mean to distinguish route vs non-route components but instead to distinguish the fetch happening in context="module" from the one inside of the instance context. In your situations, isComponentFetch should be true which should make the store update.
Not sure if that'll help us debug but maybe it'll make something click? If you want to hop on a call to debug this together, lemme know

Oh wow thank you both so much.
@jycouet Both of your points were totally correct. Now everything works as expected. I guess I should read the docs more carefully instead of just skimming the "few small" changes :grin:
@AlecAivazis Your explanation for the boolean makes total sense now that you reminded me of the prefetch behavior. Of course the page should not change because of a mouse hover :joy:
I think this bug than only applies to inline queries as the docs say about afterLoad: "Keep in mind that if you define this hook, Houdini will have to block requests to the route in order to wait for the result.". But this does not seem to be the case.
Honestly, I will close this issue in my hopes that those damn hooks will go away soon and I'm hoping to implement #398 soonish :joy:

Awesome! Glad to hear you got things settled 👍

hopes that those damn hooks will go away soon

That's the dream! I really don't them and if it wasn't for the awkward variable threading, i would have removed them in 0.15.0.

But this does not seem to be the case.

Yea I think there is still a bug here so I'm going to investigate it a bit but at least we have isolated the problem. Thanks again for the report!

Damn, I definitely spoke too soon. The redirect problem still occurs
These are the first lines of my file:
<script context="module" lang="ts">
  export const load: Load = async (event) => {
    const productId = parseInt(event.params.id, 10);

    const { data } = await GQL_GetProductPublic.fetch({
      event,
      variables: { productId },
      blocking: true,
    });

    if (!data?.product) {
      return {
        status: 404,
        error: 'Wir konnten das gewünschte Produkt leider nicht finden...',
      };
    }

    if (event.params.wayne !== data.product.slug) {
      return {
        status: 301,
        redirect: productUrlPublic(data.product) + event.url.search,
      };
    }

    return {
      props: {
        productId,
      },
    };
  };
</script>

<script lang="ts">
  // imports...

  // these two lines were new
  export let productId: number;
  $: browser && GQL_GetProductPublic.fetch({ variables: { productId } });

  // for a smaller diff
  const data = derived(GQL_GetProductPublic, ({ data }) => data);

As the redirect is only really needed because of external links I can workaround by guarding it with !browser. So right now this is not a blocker for me.

@fehnomenal any update on this? I'm going to close this issue to keep things tidy but I'm happy to reopen it if we can figure out what's going on. Feel free to reach out to me on discord 👍

Sorry for the delay. This was the inline query version (only the top and with stripped query fields but that should not matter):
export const productUrlPublic = ({ id, slug }: { id: number; slug: string }): string =>
  `/artikel/${id}-${slug}`;

<script context="module" lang="ts">
  export function GetProductPublicVariables({
    params,
  }: Parameters<Load>[0]): GetProductPublic$input {
    return {
      id: parseInt(params.id, 10),
    };
  }

  export function afterLoad(
    this: RequestContext,
    { data, params, url }: Parameters<Load>[0] & GetProductPublic$afterLoad,
  ): ReturnType<Load> {
    if (!data.GetProductPublic.product) {
      return this.error(404, 'Wir konnten das gewünschte Produkt leider nicht finden...');
    }

    if (params.wayne !== data.GetProductPublic.product.slug) {
      return this.redirect(301, productUrlPublic(data.GetProductPublic.product) + url.search);
    }

    return {
      stuff: {
        activeCatalogSlug: data.GetProductPublic.product.catalogs[0]?.slug,
      },
    };
  }
</script>

<script lang="ts">
  // many imports

  const { data } = query<GetProductPublic>(graphql`
    query GetProductPublic($id: Int!) {
      product: productById(id: $id) {
        ...ProductLd
        id
        brand
        slug
        name
        ...ProductImage
        ...ProductExtraInfo
        ...ProductPrice
        ...AvailableStock
        ...AndSoOn
      }
    }
  `);
</script>

I remember that during debugging this, I inserted some console.logs in the hook function to see what is going on. I noticed that params.id was always correct (i.e. the id that was in the href of the link and in the url) but data.product.id was the last id (i.e. the id of the page where the link was placed) and data.product.slug also had the last value. In fact I logged the complete data.product object and always got the values of the current page.
Because of that my guess is that the preprocessed querying is not blocking as advertised by the docs.
I just built the version and strangely the generated load function has the blocking modifier set...
This is the relevant client code:
function afterLoad({ data, params, url }) {
  var _a;
  if (!data.GetProductPublic.product) {
    return this.error(404, "Wir konnten das gew\xFCnschte Produkt leider nicht finden...");
  }
  if (params.wayne !== data.GetProductPublic.product.slug) {
    return this.redirect(301, productUrlPublic(data.GetProductPublic.product) + url.search);
  }
  return {
    stuff: {
      activeCatalogSlug: (_a = data.GetProductPublic.product.catalogs[0]) == null ? void 0 : _a.slug
    }
  };
}
async function load(context) {
  const _houdini_context = new RequestContext(context);
  const _GetProductPublic_Input = _houdini_context.computeInput({
    "config": config,
    "framework": "kit",
    "variableFunction": GetProductPublicVariables,
    "artifact": _GetProductPublicArtifact
  });
  if (!_houdini_context.continue) {
    return _houdini_context.returnValue;
  }
  const _GetProductPublic = await store_GetProductPublicStore.fetch({
    "variables": _GetProductPublic_Input,
    "event": context,
    "blocking": true
  });
  await _houdini_context.invokeLoadHook({
    "variant": "after",
    "framework": "kit",
    "hookFn": afterLoad,
    "input": {
      "GetProductPublic": _GetProductPublic_Input
    },
    "data": {
      "GetProductPublic": _GetProductPublic.data
    }
  });
  return {
    ..._houdini_context.returnValue,
    props: {
      ..._houdini_context.returnValue.props,
      _GetProductPublic_Input
    }
  };
}


the shape of points is square in point cloud visualization plugin

Environment

OS Version:  Ubuntu 22.04
binary: Garden

If this is a GUI or sensor rendering bug, describe your GPU and rendering system. Otherwise delete this section.

Rendering plugin: [ogre2].

running in Docker

Description

Expected behavior:  circular shape for each point as https://github.com/gazebosim/gz-gui/pull/346

Actual behavior: square shape for each point

Steps to reproduce

run point cloud plugin example : https://github.com/gazebosim/gz-gui/blob/gz-gui7/examples/standalone/point_cloud/README.md

I can reproduce the issue on Jammy, but not on Focal.


Table Header: More sorting options

Detailed description

Describe in detail the issue you're having.

[ ] have a sortable or sortingEnabled property to allow sorting for certain columns only, for ex. column 1, 2 and 3 can be sorted but column 4 ("Actions") cannot be sorted thus should not show the sorting arrow at all
[ ] provide default sorting direction
[ ] add a class property
[ ] add a generic property for user defined data to attach, for ex. additionalData property
[ ] all public properties should be initializeable through the constructor (sorted, ascending, descending are unavailable at the moment)

Is this a feature request (new component, new icon), a bug, or a general issue?

Feature request

Is this issue related to a specific component?

Table

@cal-smith @zvonimirfras Can you assign this one to me please? I have half of it done already


[BUG] ADD build number on app version

Missing build number on app version on swaps.

already fixed in #1110


When not specifying a model for http_codes invalid model is created

Expected: The default behavior when no model is specified for an output 200/201 message should not produce a schema tag for the output.  This was how grape-swagger worked for in 0.10.2
Actual:  A definition matching the endpoint name and based on input parameters is created and used as the output schema.  This seems overly idealistic.  There are many cases where an endpoint will take in parameters and return something entirely different as output.  This puts a requirement to define an output model for every endpoint.
The code that generates this definition  is something I would like to see used however to optionally create an input scheme based on the parameters, that is another story though
Example:
...
        #
        desc 'Return reticulated value for a spline',
          http_codes: [
            { code: 200, message: 'is Spline Reticulated' },
            { code: 404, message: 'Not Found' }
          ]
        params do
          requires :id, type: Integer, desc: 'Spline id.'
        end
        get ':id/reticulated' do
          error!({ code: 404, message: 'Not Found' }) unless @@splines[params[:id] -1]
          present @@splines[params[:id] -1].reticulated
        end
...

Produces:
"/splines/{id}/reticulated": {
"get": {
"description": "Return reticulated value for a spline",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "id",
"description": "Spline id.",
"type": "integer",
"format": "int32",
"required": true
}
],
"responses": {
"200": {
"description": "is Spline Reticulated",
"schema": {
"$ref": "#/definitions/Reticulated"
}
},
"404": {
"description": "Not Found"
}
},
"tags": [
"splines"
],
"operationId": "getSplinesIdReticulated"
}
},

in short, you suggest, only add a definition, if an entity was provided via success and/or failures as response, right?
actual: the definition would be generated from parameters if no entity was provided, yeap this is idealistic, but I'm fine with your suggestion, it would make things easier 😉
btw: please don't refer to 0.1x.x series of the gem, they are totally different, you should always refer to the swagger-2.0 spec

" if an entity was provided via success and/or failures as response" yes, that is my proposal.
The code that builds the model from params would be very useful though for an enhancement where you could pass in an optional parameter says something like params_as_schema, where it converts the params into a schema block (could even be inline) and renders that as a body parameter of type schema.  I will submit that enhancement once I explore exactly how it should work.

ok, this could be done …
and what did you think about the second thing,
creating a definition from body params for POST/PUT request?
this should be there in my opinion …

@wleeper give https://github.com/LeFnord/grape-swagger/pull/22 a try

is corrected here: https://github.com/ruby-grape/grape-swagger/pull/406


Can the tree component provide a method getCheckedNodes() ?

What problem does this feature solve?
Want to get half-selected tree node
If the node can be selected (show-checkbox is true), it returns the currently selected array of node's keys
(leafOnly) Accept a boolean type parameter whose default value is false. If the parameter is true, it only returns the currently selected array of sub-nodes.
What does the proposed API look like?
Can refer to https://element.eleme.cn/#/en-US/component/tree

checkedKeys(v-model) filters origin dataSource


resend messages if they weren't sent

add a table for message not being able to be delivered and deliver than as soon as internet is back.

probably it is easier to just send them when revisiting the chat. not sure bout that

I implemented this actually a couple days ago...


Replace TsBuffer.h with std::string_view, ts::TextView or ts::MemSpan

Add capabilities missing (if any) to TextView and MemSpan.

OK changed title and description based on your comment.

https://github.com/apache/trafficserver/issues/4509


feat(rule): autofocus attribute should not be used

Left few minor comments. Would you share details about autofocus considered as a bad practice?

@mgechev you can find the warning here https://w3c.github.io/html/sec-forms.html#autofocusing-a-form-control-the-autofocus-attribute

Seems like W3C has removed the warning about autofocus now. I don't see anything referencing autofocus in the July 18, 2019 version of the document. I would like to review the discussion if I could find it.


Benchmarks: Add Benchmark - Add mlc benchmark to superbench (#182)

Description
Add mlc memory bandwidth and latency micro benchmark to Superbench.
Major Revision

Add mlc benchmark with test and example files

/app run

/azp run

/azp run

/azp run


Update poi, poi-ooxml to 5.0.0

Updates

org.apache.poi:poi
org.apache.poi:poi-ooxml

from 3.17 to 5.0.0.
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!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.poi" } ]

labels: library-update

Superseded by #13.


Scoped parsing

Currently the code examples are parsed quite naïvely. We should make the parsing respect scopes on all levels. The current way probably covers the 90 % case, but we ought to get it right.

There are lots of problems with using variables from outer scopes though, because they can be overwritten later, resulting in a different value being available in the scope. But we just might have to deal with that and communicate it to users.


Switching from setup.py to pure pyproject.toml

Resolves: https://mageai.slack.com/archives/C0548LJTD2S/p1690763435630409
I agree with @jcorrado76, who explained in the Slack thread:

I do see several significant benefits of using pyproject.toml as opposed to the setup.py. The first and foremost one is that it’s the strategic direction for packaging in Python, as of PEP 518. In that article is the official guidance for packaging in Python, and they give several arguments for pyproject.toml, and against using setup.py.
In my experience, I like pyproject.toml because it’s much more cohesive:

you can manage optional dependencies, arbitrary groups of dependencies, and dev dependencies seamlessly and independently
all of your tool configurations go in there, instead of polluting the root of the repository with a bunch of separate configuration files for each tool you’re using
I find the pyproject.toml to be more readable than setup.py

And using pyproject.toml puts you in a good position to use a more robust packaging and virtual environment tool like poetry, which lets you:

install separate groups of dependencies independently
assert correctness of the environment against all the dependencies, and against your active version of python
maintain folder-specific virtual environment caches
package and deploy local subpackages in editable mode seamlessly

Description
This switches both mage_ai and mage_integration from setup.py to pyproject.toml.
As build backend I keep setuptools and not switch to poetry fully.
Poetry unfortunately does not support PEP-621 yet. This means that poetry install does not take the dependencies into account yet. A pure Poetry configuration in the tool.poetry scope, would not allow usage of the metadata with other build backends. Therefore I chose to stick with the standard project scope and wait until Poetry supports it.
You still need to install mage_ai and mage_integrations via pip install and cannot do it via poetry install.
Also updated

[x] dev.Dockerfile
[x] Makefile
[x] build-and-test github action workflow

dropped 3.7 support as its EOL
fixed pip install of mage-ai and mage-integration

[x] publish-to-pypi github action workflow

fixed python build command

[ ] README_dev.md

Also checked all imports in mage_ai and mage_integrations to check missing dependencies.
How Has This Been Tested?

[x] See Workflow
[x] Ran scripts/dev.sh
Pypi publish not tested

Checklist

[x] The PR is tagged with proper labels (bug, enhancement, feature, documentation)
[x] I have performed a self-review of my own code
[x] I have added unit tests that prove my fix is effective or that my feature works
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

cc: @wangxiaoyou1993, @dy46, @jcorrado76

when i try to pip install mage-ai from your branch, the mage start command fails with this error:
Traceback (most recent call last):
  File "/Users/david_yang/mage/mage-ai/.venv/bin/mage", line 5, in <module>
    from mage_ai.cli.main import app
ModuleNotFoundError: No module named 'mage_ai.cli'

i'm planning on looking into it, but if you know how to fix it, you can do that too

when i try to pip install mage-ai from your branch, the mage start command fails with this error:
Traceback (most recent call last):
  File "/Users/david_yang/mage/mage-ai/.venv/bin/mage", line 5, in <module>
    from mage_ai.cli.main import app
ModuleNotFoundError: No module named 'mage_ai.cli'

i'm planning on looking into it, but if you know how to fix it, you can do that too

for me everything works. But i saw that i have a fairly new setuptools version. The console script usage from pyproject.toml was introduced in setuptools==61.0. So I will update the pyproject file accordingly.
I have installed mage via pip install -e "./[all]" in editable mode and can run mage start without any issue.

I tried adding that line in my own branch, but it didn't seem to resolve the issue.

sorry, i haven't had time to push this through. the last time i tested it, both the dev and prod workflows seemed to work properly. let me sync it with master and see if we can finish this up

@christopherscholz I asked some of my teammates to try building the docker image from this branch, and they also ran into the mage_integrations issue that I ran into which is why I haven't merged this change yet. I was able to resolve it by completely reseting my dev environment, but that doesn't seem like an ideal solution.


Plans for hamlit?

Any plans for moving from haml to hamlit?
https://github.com/k0kubun/hamlit
It seems completely compatible.

I have no plan on it, PR is welcome though.


[ISSUE #2570] Modify the truncateDirtyLogicFiles judgement, just execute it when maxPhyOffsetOfConsumeQueue > processOffset.

What is the purpose of the change
For-#2570.
Modify the truncateDirtyLogicFiles judgement, just execute it when maxPhyOffsetOfConsumeQueue > processOffset.

Coverage increased (+0.03%) to 51.966% when pulling ef19f565a3363e3f234a7a32babf70deb31486e0 on horizonzy:fix-2570 into 98aca7ffcbf282b2885ad4b9c433927a5ac0e78b on apache:develop.

Coverage increased (+0.03%) to 51.966% when pulling ef19f565a3363e3f234a7a32babf70deb31486e0 on horizonzy:fix-2570 into 98aca7ffcbf282b2885ad4b9c433927a5ac0e78b on apache:develop.

Codecov Report

Merging #2572 (ef19f56) into develop (98aca7f) will decrease coverage by 0.12%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             develop    #2572      +/-   ##
=============================================
- Coverage      46.28%   46.15%   -0.13%
+ Complexity      4349     4340       -9
=============================================
  Files            547      547
  Lines          36247    36247
  Branches        4808     4808
=============================================
- Hits           16777    16731      -46
- Misses         17391    17431      +40
- Partials        2079     2085       +6

Impacted Files
Coverage Δ
Complexity Δ

...main/java/org/apache/rocketmq/store/CommitLog.java
66.52% <100.00%> (ø)
80.00 <0.00> (+1.00)

.../broker/subscription/SubscriptionGroupManager.java
54.11% <0.00%> (-16.48%)
8.00% <0.00%> (-3.00%)

...org/apache/rocketmq/common/stats/StatsItemSet.java
43.28% <0.00%> (-8.96%)
17.00% <0.00%> (-3.00%)

...pache/rocketmq/test/listener/AbstractListener.java
66.66% <0.00%> (-7.41%)
9.00% <0.00%> (-1.00%)

...a/org/apache/rocketmq/logging/inner/SysLogger.java
28.57% <0.00%> (-5.72%)
6.00% <0.00%> (-1.00%)

...in/java/org/apache/rocketmq/test/util/MQAdmin.java
38.88% <0.00%> (-5.56%)
7.00% <0.00%> (-1.00%)

...ketmq/client/impl/consumer/PullMessageService.java
75.55% <0.00%> (-4.45%)
9.00% <0.00%> (-1.00%)

...java/org/apache/rocketmq/logging/inner/Logger.java
51.67% <0.00%> (-4.31%)
28.00% <0.00%> (-1.00%)

...mq/client/impl/consumer/RebalanceLitePullImpl.java
50.84% <0.00%> (-3.39%)
11.00% <0.00%> (ø%)

...ava/org/apache/rocketmq/test/util/VerifyUtils.java
46.26% <0.00%> (-2.99%)
14.00% <0.00%> (-1.00%)

... and 16 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #2572 (ef19f56) into develop (98aca7f) will decrease coverage by 0.12%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             develop    #2572      +/-   ##
=============================================
- Coverage      46.28%   46.15%   -0.13%
+ Complexity      4349     4340       -9
=============================================
  Files            547      547
  Lines          36247    36247
  Branches        4808     4808
=============================================
- Hits           16777    16731      -46
- Misses         17391    17431      +40
- Partials        2079     2085       +6

Impacted Files
Coverage Δ
Complexity Δ

...main/java/org/apache/rocketmq/store/CommitLog.java
66.52% <100.00%> (ø)
80.00 <0.00> (+1.00)

.../broker/subscription/SubscriptionGroupManager.java
54.11% <0.00%> (-16.48%)
8.00% <0.00%> (-3.00%)

...org/apache/rocketmq/common/stats/StatsItemSet.java
43.28% <0.00%> (-8.96%)
17.00% <0.00%> (-3.00%)

...pache/rocketmq/test/listener/AbstractListener.java
66.66% <0.00%> (-7.41%)
9.00% <0.00%> (-1.00%)

...a/org/apache/rocketmq/logging/inner/SysLogger.java
28.57% <0.00%> (-5.72%)
6.00% <0.00%> (-1.00%)

...in/java/org/apache/rocketmq/test/util/MQAdmin.java
38.88% <0.00%> (-5.56%)
7.00% <0.00%> (-1.00%)

...ketmq/client/impl/consumer/PullMessageService.java
75.55% <0.00%> (-4.45%)
9.00% <0.00%> (-1.00%)

...java/org/apache/rocketmq/logging/inner/Logger.java
51.67% <0.00%> (-4.31%)
28.00% <0.00%> (-1.00%)

...mq/client/impl/consumer/RebalanceLitePullImpl.java
50.84% <0.00%> (-3.39%)
11.00% <0.00%> (ø%)

...ava/org/apache/rocketmq/test/util/VerifyUtils.java
46.26% <0.00%> (-2.99%)
14.00% <0.00%> (-1.00%)

... and 16 more

Continue to review full report at Codecov.

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


Open component in VSCode from browser

It is possible to open files directly from the browser into VSCode. This could become really handy and save a couple seconds of what I think is a very common task while working with the library.
Basically support opening files from the Browser using VSCode Urls. The challege here is that, when running from a container (like DDEV) the actual path is the one inside the FS of the container and not the one in the user host.
Example:
Edit Component in VSCode

Agreed, this could be very useful!

Just an udpdate on how this could be done:
Since Docker purpose is to isolate everything from the host machine there is not way I'm aware to retrieve the path for current working files. To solve this we could:

Configure manually a path from the plugin config as a string i.e. (/Users/vanrez/Documents/web-dev/library-core) but maybe reading it from an ENV var since this is dependent on each user, so this would become something like:

<?php
use craft\helpers\App;

return [
    'hostPwd' => App::env('CRAFT_HOST_PWD')
];

For users in DDEV this could be done by editing the .ddev/config.yaml to include:

web_environment:
  - CRAFT_HOST_PWD=${PWD}

The benefits of doing this with DDEV is that the env declaration is not needed since it's beign taken from PWD var in which the host is running.
Failing to retrieve the ENV var would disable this feature on the library. @daltonrooney do you think this is a good aproach?


Admin should be able to send a request for Independent Assessment (references)

Is your feature request related to a problem? Please describe.
As part of the application process candidates have to nominate an independent assessor or referee who will write an assessment about the candidate. The admin needs to be able to send a request to all the assessors at once with a link for them to complete an assessment.
Describe the solution you'd like
The admin goes onto the platform at the stage they want to send the Independent Assessments. They then can either:
(i) Select and individual candidate record and press a button that says 'send independent assessment requests'
(ii) Bulk select candidates, probably be a tick box, and press a button that says 'send independent assessment requests'
The request email template is on Notify (contact information for assessors is pulled from the application) and needs to:

be secure, nobody other the specific assessor should be able to access the link or see the candidate name
it should be address to the assessor by name
it should contain the exercise name
it should contain the candidate name
guidance for what they are assessing the candidate against e.g. a link to the competency framework
due date for the assessment
a link to write it
contact information

https://www.notifications.service.gov.uk/services/0abe6c8e-0b87-4cde-9493-5da4921ccc53/templates/37093b3e-3743-45bb-b2d6-9e8465d97944
Describe alternatives you've considered
Google drive currently used but there some problems when the assessment are actually written with exporting for large exercises.
Additional context
Nothing further.

@YaaL lets discuss this task. I've been working on the data model and cloud functions for sending IA requests & reminders.

The following cloud function should be used for sending a request to assessors:
sendAssessmentRequests
An object containing the following data should be provided as a single parameter:

exerciseId (required) ID of exercise
assessmentId (optional) ID of an assessment
assessmentIds (optional) array of assessment IDs
resend (optional) boolean if true sends to 'pending' assessments as well as 'draft'

Example: send a request for a specific assessment
sendAssessmentRequests({
  exerciseId: 'exercise123',
  assessmentId: 'assessment56',
})

Example: send assessment requests for a selection of assessments
sendAssessmentRequests({
  exerciseId: 'exercise123',
  assessmentIds: ['assessment1', 'assessment5', 'assessment56'],
})

Example: send assessment requests for all assessments in an exercise
sendAssessmentRequests({
  exerciseId: 'exercise123',
  resend: true,
})

Example: send or resend assessment requests for a selection of assessments
sendAssessmentRequests({
  exerciseId: 'exercise123',
  assessmentIds: ['assessment1', 'assessment5', 'assessment56'],
  resend: true,
})


[RFC] ARC: add ARCv3 64 bit support

Requires SDK with ARC64 support, being discussed here https://github.com/zephyrproject-rtos/sdk-ng/pull/327.


update shouldSaveClassName() to honor mapping data

This patch attempts to find any mapping data for a value to determine if className should be included.  Barring that a slightly more involved logic is used.
This resolves #379.

I thought of some tests last night I want to write before this goes in.


regex must be a prefix regex. If validation passes ...

Not sure exactly where to leave this issue but I'll start by adding it here since I ran into it first in the py package
If I try something like
invitations = client.get_invitations(regex=".*Blind_Submission")

It raises OpenReviewException: {'name': 'ValidationError', 'message': 'regex must be a prefix regex. If validation passes, any remaining regex characters will be escaped.', 'status': 400, 'details': {'path': '.regex', 'reqId': '2023-06-28-1540578'}}
Even though this used to work for example
I also noticed this breaks lots of openreview sites
google search that shows examples
https://openreview.net/group?id=NeurIPS.cc/2021/Workshop/ImageNet_PPF
https://openreview.net/group?id=thecvf.com/ICCV/2019/Workshop/Pre-Reg
https://openreview.net/group?id=roboticsfoundation.org/RSS/2022/Workshop/L-DOD
https://openreview.net/group?id=EMNLP/2019/Workshop/Summarization
It seems like it would be very useful to have full regex validation for get_invitations
Is there a reason it was changed? I'm assuming performance but maybe we can have optional full regex matching when necessary.

Thanks for reporting this, the API has changed the implementation of the parameter regex for performance reasons. The new API renames this parameter to be prefix.
We thought we have updated all the existing pages. We will fix them soon.

The regex also doesn't seem to match things that I think it should... for example
import re
import openreview

regex = r"ICLR\.cc/2017/conference/-/submission"
invitation = "ICLR.cc/2017/conference/-/submission"

print(
    re.match(
        regex,
        invitation,
    )
)

client = openreview.Client(
    baseurl="https://api.openreview.net",
)

print(len(client.get_all_invitations(limit=100, regex=regex)))
print(len(list(openreview.tools.iterget_notes(client, invitation=invitation))))

returns
<re.Match object; span=(0, 36), match='ICLR.cc/2017/conference/-/submission'>
0
490

Hello @MarvinT,
The output of the requests is correct. What were you expecting? So that i can understand the issue. The only one that may be confusing is the return value of get_all_invitations. That's because the invitation(s) that you are querying already expired. You need to pass the parameter expired=true.

Great, thanks!
I guess I was confused because
import re
import openreview

# regex = r"ICLR\.cc/2017/conference/-/submission"
# invitation = "ICLR.cc/2017/conference/-/submission"
regex = r"ICLR\.cc/2018/Conference/-/Blind_Submission"
invitation = "ICLR.cc/2018/Conference/-/Blind_Submission"

print(
    re.match(
        regex,
        invitation,
    )
)

client = openreview.Client(
    baseurl="https://api.openreview.net",
)

print(len(client.get_all_invitations(limit=100, regex=regex)))
print(len(list(openreview.tools.iterget_notes(client, invitation=invitation))))

matches an invitation:
<re.Match object; span=(0, 42), match='ICLR.cc/2018/Conference/-/Blind_Submission'>
1
929

but I guess that might be expected behavior and I just wasn't aware of the expiration after 5 years or something...

Yes, invitations expiration date varies. It is usually set by the organizers. You can check the expiration of an invitation in the expdate field of the invitation.
Feel free to reopen this issue in case there is anything unresolved.


Fix another var() fallback case

One more case of #190968

This was tracked in https://github.com/microsoft/vscode/issues/190966


Put the hardcoded strings in string.xml

Resolved issue #4
The strings were hardcoded which prevented adding android supported features like the translation to strings.

@dheerajkotwani I have resolved #4

Could you please take a look?


Add weird pronounciation: arXiv

Word: arXiv
Pronounciation: エイルクスィーヴ

Added in 5a70f33a30be398445f318222e111930711a9dd0. Thank you for contribution!


Add an option to produce only a single tile

Merged into https://github.com/mapbox/tippecanoe/pull/529


Proposed new action (log column change)

This action adds a comment that logs the new task column; like all comments, it contains the date and who performed the action. It is also possible to manually edit the comment to add detail, if needed. This means that one can just look at the comments and see the history of the task (what happened when, and when relevant, why). The action is triggered by the move-column event, so it is possible to control which ones are/not logged by enabling the action to just the columns "of interest".
This is a short patch so I'm not bothering with the full pull request mechanism:
diff --git a/app/Action/TaskLogMoveAnotherColumn.php b/app/Action/TaskLogMoveAnotherColumn.php
new file mode 100644
index 0000000..84579e4
--- /dev/null
+++ b/app/Action/TaskLogMoveAnotherColumn.php
@@ -0,0 +1,88 @@
+<?php
+
+namespace Action;
+
+use Model\GithubWebhook;
+use Model\Task;
+
+/**
+ * Add a log of the triggering event to the task description.
+ *
+ * @package action
+ * @author  Oren Ben-Kiki
+ */
+class TaskLogMoveAnotherColumn extends Base
+{
+    /**
+     * Get the list of compatible events
+     *
+     * @access public
+     * @return array
+     */
+    public function getCompatibleEvents()
+    {
+        return array(
+            Task::EVENT_MOVE_COLUMN,
+        );
+    }
+
+    /**
+     * Get the required parameter for the action (defined by the user)
+     *
+     * @access public
+     * @return array
+     */
+    public function getActionRequiredParameters()
+    {
+        switch ($this->event_name) {
+            default:
+                return array('column_id' => t('Column'));
+        }
+    }
+
+    /**
+     * Get the required parameter for the event
+     *
+     * @access public
+     * @return string[]
+     */
+    public function getEventRequiredParameters()
+    {
+        switch ($this->event_name) {
+            default:
+                return array('task_id', 'column_id');
+        }
+    }
+
+    /**
+     * Execute the action (append to the task description).
+     *
+     * @access public
+     * @param  array   $data   Event data dictionary
+     * @return bool            True if the action was executed or false when not executed
+     */
+    public function doAction(array $data)
+    {
+        $column = $this->board->getColumn($data['column_id']);
+        return (bool) $this->comment->create(array(
+            'comment' => "Moved to column {$column['title']}",
+            'task_id' => $data['task_id'],
+            'user_id' => $data['user_id'],
+        ));
+    }
+
+    /**
+     * Check if the event data meet the action condition
+     *
+     * @access public
+     * @param  array   $data   Event data dictionary
+     * @return bool
+     */
+    public function hasRequiredCondition(array $data)
+    {
+        switch ($this->event_name) {
+            default:
+                return $data['column_id'] == $this->getParam('column_id');
+        }
+    }
+}
diff --git a/app/Model/Action.php b/app/Model/Action.php
index 2204ad3..6aef81a 100644
--- a/app/Model/Action.php
+++ b/app/Model/Action.php
@@ -49,6 +49,7 @@ class Action extends Base
             'TaskAssignCategoryColor' => t('Assign automatically a category based on a color'),
             'CommentCreation' => t('Create a comment from an external provider'),
             'TaskCreation' => t('Create a task from an external provider'),
+            'TaskLogMoveAnotherColumn' => t('Add a comment logging moving the task between columns'),
             'TaskAssignUser' => t('Change the assignee based on an external username'),
             'TaskAssignCategoryLabel' => t('Change the category based on an external label'),
         );

Thanks, I merged your patch: https://github.com/fguillot/kanboard/commit/e6f7929f7780dc7ab06f6c4fbbbc86cd63115cd2
I just modified the code to have translated text.


Fixed bugs

I fixed two bugs:

The audio for moving the carousel kept sounding even when we were at the last item in the carousel.
After switching categories, the items(games) still had as many slots as there were when the app first loads meaning some categories end up with blank slots.

Great. Thanks for this. I'll review

Ope oo🔥


Drift in google_workflows_workflow sql_export

TL;DR
Permanent drift in the source_contents of google_workflows_workflow sql_export
Expected behavior
No drift
Observed behavior
Every plan and apply shows the contents of the source_contents changing.
` module.db_export.google_workflows_workflow.sql_export[0] will be updated in-place
~ resource "google_workflows_workflow" "sql_export" {
id              = "projects/projectname/locations/us-central1/workflows/sql-export-dev"
name            = "sql-export-dev"
~ source_contents = <<-EOT
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
        main:
          steps:
          - collectInfos:
              assign:
                - databases: []
                - database_type: POSTGRES
                - backupDate: ${text.split(time.format(sys.now()), "T")[0]}

          - list of databases:
              call: googleapis.sqladmin.v1.databases.list
              args:
                project: neon-nonprod-pdr
                instance: dev-pdr
              result: dbListResult
          - collect DB list:
              for:
                value: db
                in: ${dbListResult.items}
                steps:
                  - iterate:
                      assign:
                        - databases: ${list.concat(databases, db.name)}

          - export databases:
              for:
                value: database
                in: ${databases}
                steps:
                  - export database:
                      call: googleapis.sqladmin.v1.instances.export
                      args:
                        project: neon-nonprod-pdr
                        instance: dev-pdr
                        body:
                          exportContext:
                            databases: [${database}]
                            uri: ${"gs://neon-dev-pdr-exports/dev-pdr-" + database + "-" + backupTime + ".sql"}

    EOT -> (known after apply)
    # (9 unchanged attributes hidden)
}`

Terraform Configuration
module "db_export" {
  source                 = "GoogleCloudPlatform/sql-db/google//modules/backup"
  version                = "~> 11.0" # version of the module
  project_id             = module.project.project_id
  region                 = var.region
  sql_instance           = var.instance_name
  enable_internal_backup = false # we already enabled the backups when we created the DB, we don't want to control backups with this module
  enable_export_backup   = true
  export_schedule        = "0 4 * * 0"
  export_uri             = "gs://export-bucketname"
}

Terraform Version
Terraform version 1.2.6, Google provider 4.31  (issue doesn't seem to be new to these versions)

Additional information
Have already verified that it's not a line feed issue.

Not sure what happened, but this drift has gone away


Information correctness on the banner

I do imagine you are angry and struggle the war. But I need to mention that information on the banner seems to be incorrect. Russian troops torture and rape people. It is a lie. Please provide facts or fix the text. War will end, but reputation never whiten again.

It is a lie.

I wish. But we don't get our information from propagandist sources. We get it from people who actually witnessed this. Some of us got it by looking out of our windows.  Although, I don't care enough to figure out which one. You're behaving maliciously and this is not welcome here, feel free to do this at home, together with the rest of your compatriots.
Please, don't lie here ever again. It's a civilized place, not r*ssia.

reputation never whiten again.

You just lost your reputation. You know where to go r*ssian nazi :ship:


Add tests to increase test coverage

What does this PR do?
The PR add tests to the application.
Description of Task to be completed?

Write tests for action creators.

How should this be manually tested?
After setting up the project files, run the following command
npm run test
What are the relevant pivotal tracker stories?
#152821789

Great work with the tests.  I appreciate that you are using moxios to mock out the network calls to the server. However I notice that your use of semi colons in the project is a bit inconsistent. I prefer you installed ESLint and specify an explicit rule to handle semi colons in this project.


Match systemd restart with Compose behavior

Fixes #5.

Codecov Report
Attention: Patch coverage is 94.73684% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 70.82%. Comparing base (53057a1) to head (2fe6a85).

Files
Patch %
Lines

systemd.go
94.73%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
+ Coverage   70.53%   70.82%   +0.29%
==========================================
  Files           6        6
  Lines         750      761      +11
==========================================
+ Hits          529      539      +10
- Misses        190      191       +1
  Partials       31       31

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.