ERROR  ViewPropTypes will be removed from React Native, along with all other PropTypes. We recommend that you migrate away from PropTypes and switch to a type system like TypeScript.

[Expo App] - React native IOS
ERROR  ViewPropTypes will be removed from React Native, along with all other PropTypes.
We recommend that you migrate away from PropTypes and switch to a type system like TypeScript.
If you need to continue using ViewPropTypes, migrate to the deprecated-react-native-prop-types package.
This package provides the old PropTypes that have been removed from React Native.

npm install deprecated-react-native-prop-types

Import the ViewPropTypes from deprecated-react-native-prop-types instead of react-native

import { ViewPropTypes } from 'deprecated-react-native-prop-types';

Replace all instances of ViewPropTypes  in theses files

Carousel.js, Pagination.js, PaginationDot.js, ParallaxImage.js

Same here =/

I am getting this error as well.

Me too

use patch-package
react-native-snap-carousel+3.9.1.patch:
diff --git a/node_modules/react-native-snap-carousel/src/carousel/Carousel.js b/node_modules/react-native-snap-carousel/src/carousel/Carousel.js
index dae71a3..126a83e 100644
--- a/node_modules/react-native-snap-carousel/src/carousel/Carousel.js
+++ b/node_modules/react-native-snap-carousel/src/carousel/Carousel.js
@@ -1,5 +1,7 @@
 import React, { Component } from 'react';
-import { Animated, Easing, FlatList, I18nManager, Platform, ScrollView, View, ViewPropTypes } from 'react-native';
+import { Animated, Easing, FlatList, I18nManager, Platform, ScrollView, View } from 'react-native';
+import { ViewPropTypes } from 'deprecated-react-native-prop-types';
+
 import PropTypes from 'prop-types';
 import shallowCompare from 'react-addons-shallow-compare';
 import {
diff --git a/node_modules/react-native-snap-carousel/src/pagination/Pagination.js b/node_modules/react-native-snap-carousel/src/pagination/Pagination.js
index 5c021cf..061f225 100644
--- a/node_modules/react-native-snap-carousel/src/pagination/Pagination.js
+++ b/node_modules/react-native-snap-carousel/src/pagination/Pagination.js
@@ -1,5 +1,7 @@
 import React, { PureComponent } from 'react';
-import { I18nManager, Platform, View, ViewPropTypes } from 'react-native';
+import { I18nManager, Platform, View } from 'react-native';
+import { ViewPropTypes } from 'deprecated-react-native-prop-types';
+
 import PropTypes from 'prop-types';
 import PaginationDot from './PaginationDot';
 import styles from './Pagination.style';
diff --git a/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js b/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js
index e59d196..2492c6f 100644
--- a/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js
+++ b/node_modules/react-native-snap-carousel/src/pagination/PaginationDot.js
@@ -1,5 +1,7 @@
 import React, { PureComponent } from 'react';
-import { View, Animated, Easing, TouchableOpacity, ViewPropTypes } from 'react-native';
+import { View, Animated, Easing, TouchableOpacity } from 'react-native';
+import { ViewPropTypes } from 'deprecated-react-native-prop-types';
+
 import PropTypes from 'prop-types';
 import styles from './Pagination.style';

diff --git a/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js b/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js
index 8bc774a..2466afb 100644
--- a/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js
+++ b/node_modules/react-native-snap-carousel/src/parallaximage/ParallaxImage.js
@@ -1,7 +1,9 @@
 // Parallax effect inspired by https://github.com/oblador/react-native-parallax/

 import React, { Component } from 'react';
-import { View, ViewPropTypes, Image, Animated, Easing, ActivityIndicator, findNodeHandle } from 'react-native';
+import { View, Image, Animated, Easing, ActivityIndicator, findNodeHandle } from 'react-native';
+import { ViewPropTypes } from 'deprecated-react-native-prop-types';
+
 import PropTypes from 'prop-types';
 import styles from './ParallaxImage.style';

Same here. react-native 0.71.4
I really expect react-native-snap-carousel to upgrade ASAP so it will not break on a newer version of react-native.

Same here. react-native 0.71.4
I really expect react-native-snap-carousel to upgrade ASAP so it will not break on a newer version of react-native.

This lib is abandoned and will receive no future updates.

Same here. react-native 0.71.4
I really expect react-native-snap-carousel to upgrade ASAP so it will not break on a newer version of react-native.

This lib is abandoned and will receive no future updates.

Has it been replaced by a new library?

Has it been replaced by a new library?

You might want to migrate to reanimated carousel, though it's not 1:1 with this lib, being more modular which makes it not as simple to set up; But it's actively maintained and less prone to bugs.

thank you

Worked, thanks

install this version  yarn add<EMAIL_ADDRESS>

thank @Karroch-a . Is working.

install this version yarn add<EMAIL_ADDRESS>
Worked for me, thanks.

beta is working. Thank you.

Working on Expo 51, thanks @Karroch-a

thanks @Karroch-a, you made my afternoon!

thank
i like u


Implement Reminder feature

Update the default list view of the Internship Diary to be shown according to urgency of the application, in terms of the application deadline followed by interview(s) date(s).

Done by Felicia PR#82


Fix endless loop on encoding exception

Fixes #161

Thanks for the fix!
Given that emoji are actively becoming a part of the some logging applications this can be pretty important fix.
Any plans to release v1.4.0?

Hi @ruXlab, v1.4.0 should be there soon, however there is no specific plan on this yet. Meanwhile, you can try out v1.4.0-rc2 that contains this fix.

Amazing, thanks for taking time to release rc @nehaev :+1:


APT whitelist request for musl

This replaces travis-ci/travis-ci#3868.
The original text by @Downchuck follows

It's a useful compiler. It would be nice to have a more recent version, due to the getaddrinfo bug in C-land.

Ran tests and found setuid bits by purely textual search. Further analysis is required.
If these are found to be benign, add:
musl musl-dev musl-tools
See https://travis-ci.org/travis-ci/apt-whitelist-checker/builds/72545350.

setuid detection here appears to be a false positive. I'm also interested in this.

I'm also interested. This is the way to get statically compiled binaries out of Rust, and I'd like Travis to build them for me. :-)

@BanzaiMan Ping!

@BanzaiMan Any update on this?
The ability to get statically compiled binaries out of Travis for Rust programs would be quite useful.

@BanzaiMan any news on the suid binaries?

Checking in on this long old one; https://packages.debian.org/buster/musl


NYTimes data?

Dear Maciej,
Thanks a lot for making this amazing dataset available! :D I have one quick question and a comment.

I found this dataset includes 1.5M NYTimes articles, can you elaborate little more how you collect them?
I'd love to use this dataset for research. But the lack of details on data collection procedure (e.g., when the collection started and ended, what is the time range of collected news articles) makes it really hard to use this data for academic purposes. If you can describe how you collected this data, it would be gratefully helpful!

Thanks,
Jisun

NYTimes articles were scraped directly from their website. The URLs that were scrapped were found through their developer API: https://developer.nytimes.com/
This project was a part of my dissertation, this report contains most of the information, but if it's missing any details feel free to ask: https://drive.google.com/file/d/1SPeBXjvbes9EmItDjR5PyRPkV54QsvPa/view?usp=sharing


Add UIForm Element

Auto resizing containers added (Documentation on website is remaining)
These containers automatically resize when elements are added to them.
I was having some problems running tests, but I had tested them separately in a project I was using them in. More similar elements are coming like UIAutoScrollingContainer which uses an auto resizing container as its scrollable container instead of a normal UIContainer.
Check if you like this implementation, or maybe we could even merge UIContainer and the new UIAutoResizingContainer
Adding PR split list to first post:
Easy changes

[x] Adding .idea to .gitignore PR - #530

Changes to existing base classes

[x] Changes being made to UIElement - This needs some merge effort with other recent changes, I had a stab locally but I think it can probably be done better. Also I need to interrogate what theses change are more fully as changes here can have a wide impact across the codebase as I discovered last week with a smaller change to dynamic resizing, that passed all the unit tests, managing to break an image resizing demo. #531, #534, #535, #536
[x] Changes to UIContainer - Same reasoning as above regarding wide ranging impact. #537
[x] Changes to UIScrollingContainer - I'm less concerned about changes here as it is not widely used, but it's worth looking at - there is also the possibility we may want to merge this class entirely with AutoScrollingContainer. #538, #539

New stuff

[x] AutoScrollingContainer #545
[x] AutoResizingContainer #543, #544
[x] UI2DSlider #540
[ ] UIForm

Using the new stuff in existing stuff

[x] UIColourPicker addition of UI2DSlider #542

The main question I had when looking over this is - are there circumstances where you would want a container that resizes like this, as opposed to one that resizes it's scrollable area (e.g. the way an explorer or one where you have decided the size ahead of time to fit the stuff you are going to put inside of it? Most UIs I see these days adopt a 'squish and vertical scroll' for oversized content - I suspect mainly because of the dominance of phones and tablets in browsing content.
I suspect there are - but listing off some ideas as to what this would be used for in a UI would probably help clarify the design and help create an example that uses this type of container for the examples repository:
https://github.com/MyreMylar/pygame_gui_examples

I'll admit that I didn't have too much in mind except it would be easy to replace the container used in the UIScrollableContainer to this special container. I thought we would have to implement something like this either straight into the UIScrollableContainer otherwise anyways, and implementing it this way would potentially allow for more use cases to be available with the same effort for maintainence.

Hi,
Thank you for reviewing the pull request. I also found some flaws with this code when resizing the container. I think there are certain other major problems with the class which I am trying to pin point properly.
However, I had already finished most work on the uiscrolling container which automatically resizes, and some other elements.
Yet I cannot guarantee that I will have the time to fix all the issues as I have some important exams coming up which will last the whole of February. I will try my best to debug the problems and update the necessary code, but I think it might be better to have the other elements like:

UIAutoScrollingContainer
UI2DSlider
UIColourPickerDialog (with an added 2Dslider in the colour square which allows dragging to select the correct colour)
UIForm

These elements aren't fully completed, and I'm sure there are bugs but you'll be able to see what my approach to those elements is and guide me if necessary. You may even finish it if I am too inactive. It will atleast get the process of adding those elements going

While renaming the UIContainer method on_anchor_target_changed to on_content_moved_or_resized as you suggested, I saw that the UIElement class has a method called _on_content_changed which has no documentation. What exactly does this method do? Perhaps some documentation with that would make it unambiguous about which function does what.
Secondly, the get_top_most_point is not necessarily the same as getting the self.rect.top, because self.rect.top will not be changed to the y value from get_top_most_point unless resize_top is True. This means that using this method could be way to check what size the container will be in the case where resize_top is False and they wish to toggle it to True.
However, I can add the prefix if you feel like that use case is too specific and may confuse the users.

I made some changes using your suggestions. However, I can just not get the container to work properly. It seems to be having some problems with buttons and their texts, and especially with dynamic width and heights.

I think I found the root of the problem. So what happens when we create a new button with dynamic width and height is:

First, it creates a full sized image containing the text.
Then it sees how much of the image fits in the container, and crops the image accordingly.
However, it also resizes its rect to the size of the image.
This means that since the AutoResizingContainer checks whether it needs to expand using the rect of the button, it fails to recognise that the button exceeds the borders.
Now since the container doesn't resize, no matter how many times you try to resize the button, the button will always be invisible since the rect doesn't change, the clipping rect doesn't change and the image size doesn't change.

So, to fix this problem, we'll have to stop the image from resizing based on if it's outside the container. Just update the clipping rect instead and as soon as the element moves update the clipping rect, and only blit the the image actually contained within the container.

I finally was able to fix the problem by eleminating the if condition in UIElement._set_image which checks whether the image_clipping_rect is 0 and sets the universal_emtpy_surface as the self.image.

Looks like a crop of the unit tests are failing now I've enabled them to run.

Looks like a crop of the unit tests are failing now I've enabled them to run.

I have tried fixing some of the failing tests with the next commit, could you try re-running the workflow? it doesn't allow me to run it myself

Looks like a crop of the unit tests are failing now I've enabled them to run.

I have tried fixing some of the failing tests with the next commit, could you try re-running the workflow? it doesn't allow me to run it myself. Also, when I run the tests in my IDE, many of them fail because the manager can't find the specified files, or the colours of the gradient don't match, etc. I don't think I have changed any code which would interfere with the colours or location of files. There is a test which specifically tests for the if condition I had removed, where in the expected image was supposed to be the ui_manager.universal_empty_surface but after I changed it (so that the size of the image isn't 0, 0) the tests fails.
I will also add the appropriate tests in a few days

I have kicked off the tests.
To run them locally you should just be able to run pytest tests from the root directory (the one that has the 'tests', 'docs' and 'pygame_gui' folders. For me it looks like this:

Okay, I have finally seemed to squash the bugs coming up with the containers while resizing. Also, I added some other functions and removed other bugs with this, namely:

UIContainer now also has expand_top and expand_left functions which work like set_dimensions except, as the name suggests, they expand the container from the top and left respectively. The big difference between just setting the dimensions and moving the rect, and these functions is that these functions also update the relative rects of the contained elements. This means that none of the contained elements' absolute positions will move.
I updated the on_contained_elements_changed method to recursively update targets as when there was a chain of elements all anchored to each other, it would not update all of them previously

I ran all the tests and it seems to be working properly. I tested the elements manually and they are working but I have not written the pytest equivalent tests yet. It's a bit daunting of a task because there are so many things to test

This is pretty much all the additions I wanted to make in terms of elements and features. It's just the matter of writing the tests now, but I think you should check out all the changes first to make sure this is what you want

Looks like things are coming along. These are the failing tests at the minute:
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_creation - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_create_too_small - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_press_cancel_button - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_press_ok_button - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_click_in_saturation_value_square_button - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_mess_with_colour_channel_event - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_update_saturation_value_square - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_update_current_colour_image - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_changed_rgb_update_hsv - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_changed_hsv_update_rgb - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_show - AttributeError: 'UI2DSlider' object has no attribute 'sliding_button'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_hide - AttributeError: 'NoneType' object has no attribute 'width'
FAILED tests/test_windows/test_ui_colour_picker_dialog.py::TestUIColourPickerDialog::test_show_hide_rendering - AttributeError: 'UI2DSlider' object has no attribute 'sliding_button'

And most of them look like the same fail there.

Ah, My "Fixed Potential Bug" commit is the culprit here. Added comments so that I don't unfix a bug again. However, 2 of the tests are still failling I'll see what is causing them

The tests were failing mainly because the UIButton in the UI2DSlider kept consuming the event so the colour wouldn't change. Usually this wouldn't be a problem because clicking the button in place shouldn't change the colour anyway, but because this was done by the program where the colour was set programmatically and the necessary values not updated properly, it would cause errors

One of the tests is failing but I can't figure out why.

Why are the two scrollbars implemented a bit differently? could be something to do with it. I think I need your help debugging with this one, @MyreMylar because I can't even figure out what the bug is and whether it affects the container at all to the user

Aha! I have fixed the bugs. It had to do with the visible container being resized after calculations of the sizes of the scrollbars instead of before the calculations, as it was done before. But I think I've really made all the changes I want and just need to create the tests.

Great looks like the current tests are compiling!
I will give this a good look over today, if its all good then we'll just need some new unit tests to cover the new elements.

Absolutely, did not get onto looking at this today sorry, but it is on my to do list for this week.

OK, I've got this running locally and browsed through bits of it - I have run into a few bugs along the way, most of which should get squished through coverage compliant unit testing - which I'll add some separate comments about as I go.
I think my biggest issue overall with this PR is its size is making it tough to mentally digest everything going on inside of it. Sadly I only have a small amount of time each week to work on coding projects at the moment which makes dumping this much code in my head at once very tough!
I'm going to suggest we break this down into about nine PRs and in the following order - like so:
Easy changes

Adding .idea to .gitignore PR - #530

Changes to existing base classes
2. Changes being made to UIElement - This needs some merge effort with other recent changes, I had a stab locally but I think it can probably be done better. Also I need ot interrogate what theses change are more fully as changes here can have a wide impact across the codebase as I discovered last week with a smaller change to dynamic resizing, that passed all the unit tests, managing to break an image resizing demo.
3. Changes to UIContainer - Same reasoning as above regarding wide ranging impact.
4. Changes to UIScrollingContainer - I'm less concerned about changes here as it is not widely used, but it's worth looking at - there is also the possibility we may want to merge this class entirely with AutoScrollingContainer.
New stuff
5. AutoScrollingContainer
6. AutoResizingContainer
7. UI2DSlider
8. UIForm
Using the new stuff in existing stuff
9. UIColourPicker addition of UI2DSlider
Then we can make sure each step is properly looked at and tested before moving up the chain. I'll help with this task by creating PRs with the changes and adding you as co-author to the commits so you get credit. You can also join in this process if you like, not sure how much you've used git and multiple branches, but I'll start off with the first couple anyway.

OK, I've broken down most of the changes to the core stuff now into new PRs and added tests (the remaining changes are ones I'm not sure are actually needed yet).
I'm going to split off the 4 new elements into separate PRs next.

Hi, I have been out recently for vacation on a tour. I'll see what exactly are the changes when I get back in a few days. I realised the PR got very big very quickly so it's great that you're breaking it down. Some bugs I can tell were caused by short sighted changes by me failing to account for their impact, but they should be easily fixable.

Hi, in the other separate PR's, have you made any changes to the code from this PR? If that's the case, then the only change needed will be to this PR to fix the errors you mentioned above (which I think I have fixed)

Hi, in the other separate PR's, have you made any changes to the code from this PR? If that's the case, then the only change needed will be to this PR to fix the errors you mentioned above (which I think I have fixed)

If you look at the 'files changed' link at the top there you can see what stuff is going to get merged from this PR now.
Essentially the other PRs I made have stripped out and merged to main everything except the UIForm stuff which is now all that is left in this one.
Last time I looked at the UIForm I realised that the drop down really needs to support a dynamic width to work properly with something like this - where arbitrary data can be added to the drop down. I wanted to figure out a way to do that (it's tricky because drop downs start closed but you would want a dynamic width one to be wide enough to fit every item in the drop down list.
I think the form also needs a good looking example of a form creating in the pygame_gui_examples Github project as it is a complicated element and is likely to be vulnerable to changes in lots of other areas so I'd like to have something to run an check before making releases.
So basically I want to get those steps worked out before merging it. They may in turn throw up other things. I have a little list of things to look at over my next work holiday and getting this merged in is part of it - along with a new release of the library.

I guess the form could also use a test file to give it a good work out and make the test coverage check pass.

I saw that in one of the branch merges with main, you un-committed the changes from my "adding default 0 sized scrollbars" commit, which added those scrollbars to the UIScrollingContainer so that the elements in the UIForm could anchor to it. Is there a reason you did so? Because now the UIForm isn't working for me.
I think that it's better to add a scrollbar to the dropdown then make it dynamically sized, as it may not look great if it expanded to the length of the entire screen. Perhaps it would extend up to the length specified in the height limit, then add a scrollbar which allows you to scroll through the options.
I had a working example (although perhaps not good looking: I had no specific theming applied), which pretty much used all the features I have added. I can modify and add that in once we fix the issues with the default scrollbars.
I'll also create a test file (or add any missing test functions if you create one before me), but I will likely only have time from around 6th because I have a really busy week coming up.

I saw that in one of the branch merges with main, you un-committed the changes from my "adding default 0 sized scrollbars" commit, which added those scrollbars to the UIScrollingContainer so that the elements in the UIForm could anchor to it. Is there a reason you did so? Because now the UIForm isn't working for me.

The scrolling container is made op of two containers - an 'outer' one that contains the 'inner' container and the scroll bar and an 'inner' container that contains the contents. The contents should be unaffected by whether there is a scrollbar in the outer container or not as they should only know about the inner container's dimensions.
If there is an issue with the resizing of the inner container and the effect on it's contents then we need to solve that bug not mess the scroll bar which should have no impact on the contents.

I think that it's better to add a scrollbar to the dropdown then make it dynamically sized, as it may not look great if it expanded to the length of the entire screen. Perhaps it would extend up to the length specified in the height limit, then add a scrollbar which allows you to scroll through the options.

The drop down already has a scroll bar for height, I was talking about dynamic sizing for width here (and I guess also font size height) not the number of items in a drop down.

I had a working example (although perhaps not good looking: I had no specific theming applied), which pretty much used all the features I have added. I can modify and add that in once we fix the issues with the default scrollbars.
I'll also create a test file (or add any missing test functions if you create one before me), but I will likely only have time from around 6th because I have a really busy week coming up.

Great! I will get back to this and give it a more thorough going over but any example usage code you have you can just slap into this issue in a code block so I can have look.

If there is an issue with the resizing of the inner container and the effect on it's contents then we need to solve that bug not mess the scroll bar which should have no impact on the contents.
Well although the current problem is because the contained elements are anchored to the scrollbar instead of the right edge of the container, adding the zero sized scrollbars reduced a lot of code in having to manually create, position and delete the scrollbar instead of using anchors to easily control that automatically.

For example, I was able to anchor the viewing container to the scrollbars so that you wouldn't have to resize it manually when scroll bars are added-it would resize since it is anchored to the scrollbars.
So I think adding the 0 sized scrollbars, should be a good move because it reduces the need for manual tampering with the container and scrollbars, and allows a potentially easy implementation of the what you described in #497  (by anchoring the scrolling container to either the viewing container or the scrollbar when it is locked to scrolling only in one dimension)

The drop down already has a scroll bar for height, I was talking about dynamic sizing for width here (and I guess also font size height) not the number of items in a drop down.

Oh! That would be a great addition, perhaps also a way to add text wrapping so that when the text exceeds a certain length it just wraps to take another line. Although I think that might be one of the features which would not be too commonly used as drop down options are usually meant to be kept short in size.

Great! I will get back to this and give it a more thorough going over but any example usage code you have you can just slap into this issue in a code block so I can have look.

import pygame
import pygame_gui
from pygame_gui import UI_FORM_SUBMITTED
from pygame_gui.elements import UIButton, UIAutoResizingContainer, UIAutoScrollingContainer, UIForm, UIDropDownMenu

pygame.init()

pygame.display.set_caption('Quick Start')
window_surface = pygame.display.set_mode((800, 600))

background = pygame.Surface((800, 600))
background.fill(pygame.Color('#000000'))

manager = pygame_gui.UIManager((800, 600))

test_rect = pygame.Rect(40, 50, 700, 500)

# buttons = []
# resizing_test = UIAutoScrollingContainer(pygame.Rect(40, 50, 700, 500), manager, True, False)
# hello_button = UIButton(relative_rect=pygame.Rect((650, 275), (100, 50)),
#                         text='Say Hello 1',
#                         manager=manager, container=resizing_test)
# buttons.append(hello_button)
#
# hello_button = UIButton(relative_rect=pygame.Rect((25, 75), (150, 25)),
#                         text='Say Hello' + str(int(hello_button.text[-1]) + 1),
#                         manager=manager, container=resizing_test,
#                         anchors={"left_target": hello_button, "top_target": hello_button})
# buttons.append(hello_button)

questionnaire = {
    "Just enter one character:": "character",
    "Perhaps some more:": "short_text",
    "Or go wild!": "long_text",
    "how about a section?": {"do you like it?": "boolean", "well, here, section-ception": {"do you like it?": "boolean", "well, here, section-ception": {"finally...": "integer"}}},
    "Enter a float:": "decimal",
    "You must enter something here:": "short_text('here', True)",
    "Persome more:": "long_text",
    "let's try a button": UIButton(pygame.Rect(100, 100, 100, 100), "button"),
    "Peaps some more:": "short_text",
    "OO dropdown!": UIDropDownMenu(["foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo"], "foo",
                                   pygame.Rect(100, 100, 100, 100), ),
    "rhaps some more:": "short_text"}
form_test = UIForm(test_rect, questionnaire, manager)

print(form_test.combined_element_ids)
print(form_test.get_container().combined_element_ids)
print(form_test.parsed_questionnaire["how about a section?"].combined_element_ids)
print(form_test.parsed_questionnaire["how about a section?"].parsed_questionnaire["well, here, section-ception"].combined_element_ids)

clock = pygame.time.Clock()
is_running = True
pressed = False
element = None

while is_running:
    time_delta = clock.tick(30) / 1000.0
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            is_running = False

        elif event.type == pygame_gui.UI_BUTTON_PRESSED:
            print(event.ui_element.most_specific_combined_id)
            pressed = False
            element = None

        elif event.type == UI_FORM_SUBMITTED:
            print(event.form_values)

        manager.process_events(event)

    manager.update(time_delta)

    window_surface.blit(background, (0, 0))
    pygame.draw.rect(window_surface, "Yellow", form_test.scrollable_container.rect, 1)
    pygame.draw.rect(window_surface, "Green", form_test._view_container.rect, 1)
    pygame.draw.rect(window_surface, "White", form_test.rect, 1)
    s_cont = form_test.parsed_questionnaire["how about a section?"]
    pygame.draw.rect(window_surface, "Blue", s_cont.rect, 1)
    pygame.draw.rect(window_surface, "Blue", s_cont.section_container.rect, 1)
    # Uncomment this to see the structure of the "parsed_questionnaire"
    # This shows a questionnaire when the values have been replaced by elements which are displayed on the screen
    # print(form_test.parsed_questionnaire)

    pygame.draw.rect(window_surface, "Orange", form_test.submit_button.rect, 1)
    for label in form_test.parsed_questionnaire.values():
        if isinstance(label, pygame_gui.elements.ui_form.InputField):
            pygame.draw.rect(window_surface, "Orange", label[1].rect, 1)
            pygame.draw.rect(window_surface, "Orange", label[2].rect, 1)

    manager.draw_ui(window_surface)
    pygame.display.update()

Also I quickly fixed UIForm to remove scrollbars from anchors and it works as expected. Don't know why I added them in the first place. I remember there used to be some bugs with the submit button but they seem to have disappeared.

Also, I think we should merge UIAutoScrollingContainer with UIScrollingContainer in a fashion which is similar to how it is done with some other text elements (passing -1 for the corresponding dynamic size in that axis). I could work on that in the next few days once I'm done with the changes highlighted previously.

Okay I fixed all the bugs I mentioned above with positioning and sizing the elements after theming elements are updated. Another "bug" I found was that UIDropDownMenu doesn't automatically update the positioning of it's current_state.open_button when it is resized or repositioned directly without calling update_position or equivalent functions on it. This seems somewhat intended as written in the doc string of those methods but it seems to me that it should be done by the drop down menu automatically as the user should not need to call a separate function.

Some tests do seem to be failing, I'll take a look

I also made one change where the scrollbars are generated only when the corresponding allow_scroll variables are set to True. But a problem is that this makes the allow_scroll variables currently read only (if we want to be able to change those variables, then we'll have to check whether they are changed and generate the scrollbars and un-anchor the scrollable_container etc.).
I made this change because it made sense to me that when, for example, allow_scroll_x is False, then we don't have a horizontal scroll bar at all ever. This may not be a strong enough argument, so the changes can be easily reverted if you wish.
P.S: Ignore the gui_test and gui_test2 files that I accidentally commit (and removed). I used them for testing elements on my own.

what happened to the code coverage tests?

what happened to the code coverage tests?

I think they don't run if the regular tests fail.

There seems to be problems with the vertical scrollbar not detecting that the UIButton inside a UIScrollingContainer is hovered due to not calling set_container_this_will_scroll (which is quite a long name, perhaps should be renamed to set_container_to_scroll?).
What I don't understand is the need for both are_contents_hovered and focus sets. Shouldn't the scroll bar just check if anything in its focus set is hovered and then decide whether it needs to handle the event?

Why did you remove the anchors from the scrollable container? I had added them so that the container gets resized appropriately when scrollbars are "removed"

I think there might be a better way to handle vertical scrollbars' scrolling using focus sets but I think that should be in a different PR so I'll work on that after UIForm is done. Currently I'm working on tests for UIForm (especially testing the questionnaire-validation methods)

Why did you remove the anchors from the scrollable container? I had added them so that the container gets resized appropriately when scrollbars are "removed"

I haven't? As far as I can tell, the scrolling container version in the main branch is basically the same as the one you had in here earlier today.
The only changes I had to make were merging a recent fix from main that got lost in your refactor and clearing out an anchor target of the scrolling container to the scrollbars that didn't make much logical sense as the scrollable container is already only visible inside of the view container anyway - which is itself already sized by the scrollbars. We can just use the dimensions of the view container to anchor the scrollable container instead in this scenario.
I think there is still some work to do somewhere here as something in the setup for the UIForm is making the mousewheel scroll events not work again but at least the current tests are passing.

Oh I meant the anchor targets not the anchors. And yes I just realized they were unnecessary as I forgot the scrollable container is contained within the _view_container not the root container

OK, I can't find any obvious functionality bugs with the example code now.
That example still doesn't look great at the minute in the default theme. Currently looks like this:

So making it prettier and those functionality unit tests so it can pass the coverage CI are likely the next steps. It's not going to make it into version 0.6.10 - because that is coming out relatively soon-ish, but perhaps in the next version.

The tests are failing currently, because of a singular line which updates the dimensions of the UIAutoResizingContainer within the UIScrollingContainer when the absolute min and max rects are calculated.
The tests worked before because they relied on the scroll_bars appearing when the scrollable area is increased beyond the size of the view container, but because of that line, it automatically detects that it should not be the increased size and resizes back down to the size of the min_edges_rect, which is just the original size passed in.
This means that the set_scrollable_area_dimensions is useless when should_grow_automatically is set to True, which may cause some bugs with previously working applications?

Should we make it so that when the set_scrollable_area_dimensions is used, we should turn should_grow_automatically to False? and/or
Should we make it so that when set_dimensions is called on a UIAutoResizingContainer, we also set should_update_dimensions to True?

As you can see from the commit above, I started adding the tests to UIForm. You can see a list of todo comments which lists what tests are left to add/complete. Let me know if any tests are needed apart from that

The code cov doesn't seem to be running

Some tests seem to be failing when we put a UIForm inside a UIForm, but I suspect it has something to do with UIScrollingContainers instead. I'll remove the UIForms within UIForms, but this should be something to look into.

The tests are failing currently, because of a singular line which updates the dimensions of the UIAutoResizingContainer within the UIScrollingContainer when the absolute min and max rects are calculated.
The tests worked before because they relied on the scroll_bars appearing when the scrollable area is increased beyond the size of the view container, but because of that line, it automatically detects that it should not be the increased size and resizes back down to the size of the min_edges_rect, which is just the original size passed in.
This means that the set_scrollable_area_dimensions is useless when should_grow_automatically is set to True, which may cause some bugs with previously working applications?
Should we make it so that when the set_scrollable_area_dimensions is used, we should turn should_grow_automatically to False? and/or
Should we make it so that when set_dimensions is called on a UIAutoResizingContainer, we also set should_update_dimensions to True?

Might be late to the party on replying to this. I guess the spirit of the original auto scrolling container was that it would grow & shrink based on the contents of the auto resizing container - meanwhile the set_scrolling_dimensions function sort of ignores that and just sets a size for the scrolling contents.
I think using set_scrolling_dimensions should probably disable the auto growing and shrinking aspect of the auto resizing container - until it is explicitly turned back on (which should also be an option). But we should also update the documentation of the function to say that.

Also, should we raise a warnings for certain methods which UIForm inherits from UIScrollingContainer, but aren't intended to be used with UIForm? for example, set_scrollable_area_dimensions

Various ways to handle this:
a) make UIForm have a "has a" relationship to the UIScrolling container rather than an "is a" relationship.
b) override "set_scrollable_area_dimensions" for the UIForm so it doesn't call the base version in UIScrollingContainer and does nothing except issue a warning.
c) make it work OK with the UIForm even if it is a bit dumb?

Edit: Now it does after the new commit, code cov seems to be slightly buggy

Yeah, it sometimes seems to skip an update to a pull request, I've not figured out exactly why, but it is better than nothing!

I think using set_scrolling_dimensions should probably disable the auto growing and shrinking aspect of the auto resizing container - until it is explicitly turned back on (which should also be an option). But we should also update the documentation of the function to say that.

I agree with that. We can just add a getter and setter for the auto growing option. Alternatively, we could also add the option to pass in -1, -1 in set_scrollable_dimensions to turn it on.

a) make UIForm have a "has a" relationship to the UIScrolling container rather than an "is a" relationship.

I think I agree with this the least because it doesn't feel write to have to use 2 UIElements to do the work of 1. Also, it makes sense to me that UIForm is a scrolling container, rather than having one. We'd also have to override some functions to call the methods of the contained scrolling container anyway, and that is just extra work for no reward.
It feels similar to saying whether each sub-class of UIElement could just instead contain a UIElement instance instead of being one itself and just have all of the methods operate on that UIElement instance instead. Sure, it would work, but it makes things more confusing and unintuitive and would definitely lead to unexpected bugs in the future.
Infact, it did raise confusion for me when UISelectionList was just inheriting from UIElement instead of UIContainer or some other class because it clearly does contain other elements. Also, it has a list_and_scroll_bar_container even though I think it should be the list_and_scroll_bar_container. Might be something to look at in the future, perhaps.

b) override "set_scrollable_area_dimensions" for the UIForm so it doesn't call the base version in UIScrollingContainer and does nothing except issue a warning.

I feel like if someone was to call the function, it's their responsibility for what the function does. I think that would be the expected behaviour as well, instead of just blocking them from the usage of that method. The only such case where we should interfere is when calling the function breaks something about the element or crashing the program. If it is something untested, or something that we don't expect the user to use, or perhaps use a different method, then we should raise a warning, but still call the base method. If there is just one semi-reasonable way of doing something, even if we don't know why that thing would be needed, we don't need to raise a warning or block the way. We just need to try and make sure that the method does what its name suggests it should do.

Infact, it did raise confusion for me when UISelectionList was just inheriting from UIElement instead of UIContainer or some other class because it clearly does contain other elements. Also, it has a list_and_scroll_bar_container even though I think it should be the list_and_scroll_bar_container. Might be something to look at in the future, perhaps.

Also, UIScrollingContainer should be the _root_container. I don't see why we need a root container, because we anyways have to relay the set_position, set_relative_position and set_dimension calls to the root container anyway.
The fact that UIScrollingContainer doesn't even inherit from UIContainer or IUIContainerLikeInterface just feels wrong. Also, since both the UIScrollingContainer and the _root_container are within the parent container, it makes counting the number of elements more confusing.

I was checking the recursion errors and one of them happens when the size is set to 50 or lesser in the horizontal axis or 5 or lesser in the vertical axis. I don't understand why though, and there are more errors to find which happen when UIForms are placed within UIForms.

I think I will not have much time to work on this to complete the remaining tests unfortunately. I hope I have made sufficient enough progress that you can finish the remaining tests as I have highlighted in some TODO comments at the top of the test class.
however, I may be able to assist if there are weird errors raised by this element.
P.S. Have you seen my comments above?

I think we will try merging this and see how people get on with it.
I don't personally have any use cases for it in my existing games or demos so I'm just adding the test program @GimLala posted to the examples repository,


Output an ODESystem from SInDy?

It would be nice to get an ODESystem since then we would get things like Latexify support for free, i.e. data -> ModelingToolkit -> LaTeX 💥

I think this requires a refactoring of the basis type rather than SInDy, which has to be done anyway in the long run.


Sealed -secret service and namespace check to trigger interactive prompt

What type of PR is this?

/kind bug

What does this PR do / why we need it:
The sealed secret check to prompt the ui was corrected, previously the test went undetected if not installed in the default namespace.
Which issue(s) this PR fixes:
https://issues.redhat.com/browse/GITOPS-348

Codecov Report

Merging #26 into master will not change coverage.
The diff coverage is 33.33%.

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   61.11%   61.11%
=======================================
  Files          51       51
  Lines        2466     2466
=======================================
  Hits         1507     1507
  Misses        827      827
  Partials      132      132

Flag
Coverage Δ

#unittests
61.11% <33.33%> (ø)

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

Impacted Files
Coverage Δ

pkg/cmd/bootstrap.go
31.28% <33.33%> (ø)

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 a6ba725...9d73f0b. Read the comment docs.

/lgtm

/approve

/cancel approve

/approve cancel

/lgtm cancel

/lgtm

/approve

/approve cancel


add instructions text to all game demos - WASD + more where applicable

[x] godot3-dedicated
[x] godot3-nakama
[x] godot3-nakama-dedicated
[x] godot4-dedicated
[x] godot4-nakama
[x] godot4-nakama-dedicated

commits pushed to individual repos, closing


gruvbox-flat is causing an error in gruvbox setup

Hi there. This beautiful theme is causing an error in gruvbox. As described and solved by uninstalling gruvbox-flat here:
Setup Error: (a nil value)

Hi there. This beautiful theme is causing an error in gruvbox. As described and solved by uninstalling gruvbox-flat here: Setup Error: (a nil value)

Is the problem still persistent?

Is the problem still persistent?

Yes


docs: Document zulipbot and its usage.

Add documentation in ReadTheDocs for @zulipbot.
Fixes #3771

I caught a few typos and thought there should be some discussion of the purpose, so I'll apply these changes and merge:
diff --git a/docs/zulipbot-usage.md b/docs/zulipbot-usage.md
index 215a984..84a17f6 100644
--- a/docs/zulipbot-usage.md
+++ b/docs/zulipbot-usage.md
@@ -1,9 +1,16 @@
 # Using zulipbot

 Zulip uses [@zulipbot](https://github.com/zulipbot), a GitHub workflow bot
-deployad on all Zulip repositories, to handle issues and pull requests in our
+deployed on all Zulip repositories, to handle issues and pull requests in our
 repositories in order to create a better workflow for Zulip contributors.

+Its purpose is to work around various limitations in GitHub's
+permissions and notifications systems to make it possible to have a
+much more democractic workflow for our contributors.  It allows anyone
+to self-assign or label an issue, not just the core contributors
+trusted with full write access to the repository (which is the only
+model GitHub supports).
+
 ## Usage

 * **Claim an issue** — Comment `@zulipbot claim` on the issue you want
@@ -21,7 +28,7 @@ to claim; **@zulipbot** will assign you to the issue and label the issue as
     `@zulipbot abandon` to abandon an issue.

 * **Label your issues** — Add appropriate labels to issues that you opened by
-including`@zulipbot label` in an issue comment or the body of your issue
+including `@zulipbot label` in an issue comment or the body of your issue
 followed by the desired labels enclosed within double quotes (`""`).

     * For example, to add the **bug** and **help wanted** labels to your

Merged, thanks @synicalsyntax!  Should we also move the link in README.md to this rather than the zulipbot github repo?

Yeah sure, that'd be great :)


[WIP][NimPlanner] shell and build

Summary
Added a basic code skeleton for NimPlanner.
How was it tested?
Installing nimble packages doesn't work right now:
➜ nimble install jsonbuilder
    Prompt: No local packages.json found, download it from internet? [y/N]
    Answer:
    Prompt: jsonbuilder not found in any local packages.json, check internet for updated packages? [y/N]
    Answer: y
Downloading Official package list
SIGBUS: Illegal storage access. (Attempt to read from nil?)
zsh: bus error  nimble install jsonbuilder

Need to debug it

Current dependencies on/for this PR:

main

PR #139   👈

This comment was auto-generated by Graphite.

🤔 adding openssl nix package seems to unblock this.

It wasn't obvious from the error that this was caused by SSL issues.
Using the --noSSLChecks flag nimble hadn't unblocked it. Given that installing the openssl nix package fixes this issue, I don't quite understand why that flag hadn't worked.
In desperation, I tried adding openssl since we've needed it in other planners and it began working.

Made progress:

Added a testdata/nim/hello_world example that one can shell into, build image and run image. Image size is ~ 130MB.
Added a testdata/nim/json_example to see if I can install an external nimble package and run it.

This is running into an error:
devbox/testdata/nim/json_example on  savil/nim-lang [⇕$?] at ☸  jetpack-cloud (savil-srivastava-jetpack-io)
➜ nimble build
   Warning: Using project local deps mode
  Verifying dependencies for<EMAIL_ADDRESS>      Info: Dependency on json_builder@any version already satisfied
  Verifying dependencies for<EMAIL_ADDRESS>   Building json_example/json_example using c backend
       Tip: 2 messages have been suppressed, use --verbose to show them.
     Error: Build failed for package: json_example
        ... Execution failed with exit code 1
        ... Command: /nix/store/17p8dj2gjfdckyp3vkcb7z2v50p04z3h-x86_64-apple-darwin-nim-wrapper-1.6.6/bin/x86_64-apple-darwin-nim c --colors:on --noNimblePath -d:NimblePkgVersion=0.1.0 --path:/Users/savil/code/jetpack/devbox/testdata/nim/json_example/nimbledeps/pkgs/json_builder-0.1.3 --hints:off -o:/Users/savil/code/jetpack/devbox/testdata/nim/json_example/json_example /Users/savil/code/jetpack/devbox/testdata/nim/json_example/src/json_example.nim
        ... Output: /Users/savil/code/jetpack/devbox/testdata/nim/json_example/src/json_example.nim:3:19 Error: cannot open file: jsonbuilder/json_builder

Observations:

I'm new to this, so may not be calling things correctly
The --noNimblePath nim compiler option may be messing things up. I'm not sure where that is being set. Could it be in the nix wrapper package? Feels odd.

I tried calling nimble build --nimblePath:./nimbledeps/pkg/ --noNimblePath=false but those added these options in addition to --noNimblePath . Either way, it didn't make a difference.


⚠ Bofrost.de has degraded performance

In 2486c18, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1101 ms

Resolved: Bofrost.de performance has improved in bf4cbdb.


release: 5.0.2

docs: add upgrade instructions for 5.0 (#2265)
update dev dependencies
markers plugin: added support for custom marker elements (#2269)
regions plugin: cursor orientation bugfix (#2293)
markers plugin: trigger click event on wavesurfer (#2287)
plugins: prevent runtime errors when canvas context is null (setFillStyles, setFonts) (#2299)

Coverage remained the same at 82.312% when pulling f3b36dcc0785022a0d306653bf98614213a97e99 on felguerez:release-5.0.2 into ccb7cf752d5c68d8c0e1107c6fcfdd1a916ddeb5 on katspaugh:master.

@thijstriemstra is there a release cadence this library follows or are releases created ad hoc?

@felguerez take a look at the past releases, it's once every 3 months or so. Thanks for making the pull request but I'd rather roll it myself when the time is there. There are several plugin related PRs still open that are 99% done, and I'd like to incorporate those in a 5.1.0 release as well.

You could help speeding up the release by providing code reviews on pull requests.


Allow to disable rules by severity (all info, all warnings etc)

Due to implementation constraints the best way would be run all rules but don't display rules that do not match some set thresholds (level=ERROR should only display ERROR and FATAL for example)


Test bootstrapping time of Cilium

Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

/scale-5000

//scale-5000

/scale-5000

/scale-5000

/scale-5000


controlling framerate

I have loaded a local file that is 03:23 long.  It is at 30 FPS but currently goes higher than 30. Rather than adding a second it goes all the way to 99 then adds a second.  Is there a way to control the framerate rather than it being in milliseconds?

if I understand correctly this is on browser level, ReactPlayer can't control framerate


App is not importing

coming up with this when i try to import app.jsx

After looking into the src and components folder I found out a possible reason that caused this. The app.jsx is in src/components/App then its app.jsx but I think you only entered the components folder not the App folder.

I changed all the export methods to fix this issue, before it was export default [file] at end of each file, I changed it to export const [file], so basically I exported it from where the variable was declared.

please create a commit and push it so i can pull it.


Tracking the size of Xwayland windows seems broken

Hyprland Version
Hyprland, built from branch HEAD at commit d74607e414dcd16911089a6d4b6aeb661c880923  (props: bump ver to 0.33.1).
Bug or Regression?
Regression
Description
Wezterm has an issue that's causing it to disable Wayland support to keep working on Hyprland after 59f27e7
As a side effect of the fix, increasing the font size of the wezterm window (pressing Ctrl +) makes it render outside the window shown in Hyprland.
If fullscreen is bound to F12 with bind = , F12, fullscreen, pressing on F12 twice fixes the window.
Since doing fullscreen twice may refresh the window geometry, maybe hyprland doesn't keep track of the Xwayland windows geometry updates? That'd be necessary to render them properly.
A similar bug can be seen with Microsoft Edge, where the mouse events are not mapped to the correct coordinates until after F12 is pressed twice.
Edge worked fine without having to do F12, so it may be a regression linked to window size tracking
How to reproduce
Start wezterm with enable_wayland = false then press Ctrl + a few times until you can't see your prompt or wezterm tab bar
Press twice the key you've bound to fullscreen, you'll see wezterm tab bar and prompt again
I'm using the following options in hyrland.conf, which may be needed to reproduce the issue:
monitor=,highres,auto,1.5
xwayland {
  force_zero_scaling = true
}

Crash reports, logs, images, videos
No response

I have the same issue with Minecraft launcher. I have to resize it to window and back to Fullscreen to have the right cursor tracking.


scale rectangle element using css animation

To create an issue, edit this template to fill your details as well as describe your issue and then post it.
add 'x' to the relevant to define you

[ ] Hacktoberfest Participant
[ ] Contributor

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.

please describe what changes you want to implement


.NET 7:Announcing built-in container support for the .NET SDK

Announcing built-in container support for the .NET SDK
See also #27141 and this comment

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3653642e-61ef-717b-5436-9bd0a3c4e6f4
Version Independent ID: 80c1ce51-46fb-0693-525a-7cad37150c7b
Content: Docker images for ASP.NET Core
Content Source: aspnetcore/host-and-deploy/docker/building-net-docker-images.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

closing as not in the what's new blog


Elasticsearch 2 compatibility

Is annotator stored fully compatible with Elasticssearch 2? I've just installed Elasticsearch 2.2 and got the following errors:
(pyenv) root@d05c140e6f77:/home/annotator-store# python run.py 2016-03-03 16:32:13 1862 annotator.elasticsearch [INFO] Creating index 'annotator'. 2016-03-03 16:32:13 1862 elasticsearch [WARNING] PUT /annotator/_mapping/annotation [status:400 request:0.110s] Traceback (most recent call last):   File "run.py", line 114, in <module>     main(sys.argv)   File "run.py", line 67, in main     annotation.Annotation.create_all()   File "/home/annotator-store/annotator/elasticsearch.py", line 96, in create_all     body=mapping)   File "/home/annotator-store/pyenv/local/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped     return func(*args, params=params, **kwargs)   File "/home/annotator-store/pyenv/local/lib/python2.7/site-packages/elasticsearch/client/indices.py", line 289, in put_mapping     '_mapping', doc_type), params=params, body=body)   File "/home/annotator-store/pyenv/local/lib/python2.7/site-packages/elasticsearch/transport.py", line 307, in perform_request     status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)   File "/home/annotator-store/pyenv/local/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 93, in perform_request     self._raise_error(response.status, raw_data)   File "/home/annotator-store/pyenv/local/lib/python2.7/site-packages/elasticsearch/connection/base.py", line 105, in _raise_error     raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info) elasticsearch.exceptions.RequestError: TransportError(400, u'mapper_parsing_exception')

See: https://github.com/ackermann/annotator-store/commit/a606436874a419186994df2150b52f05d5b45a54

Thanks a lot.


Page routes

We need page routes to serve pages to users. According to the wireframe, we need to serve:

Logon/Signup page (unauthenticated)
Dashboard (authenticated)
Service search results/job board (authenticated)
Service listing page (authenticated)

Additional pages to consider:

Notifications page (authenticated) - where you can approve or deny booking requests)
my bookings page (authenticated) - where you can view the bookings you have made and potentially cancel them

Might be worth breaking these out into individual tasks, to discuss 22/11/2022


ts: replace deprecated web3.Account with web3.Keypair

I'm submitting this as a draft as I haven't yet tested every example, but it should work. It also not be needed yet? I'm running<EMAIL_ADDRESS>The Account class was deprecated in<EMAIL_ADDRESS>so I have changed all occurances of new anchor.web3.Account() to anchor.web3.Keypair.generate()

I think all the changes that needed to be made are in this PR now, and the CI is passing, but I haven't had chance to manually look through all the commits and actually run the updated library code yet. I was planning to do that tomorrow but just wanted to give a mini status update to explain what the situation was.

I don't think so but I haven't had the opportunity to test things locally yet, I was planning to do it tomorrow.
However if you are happy with the code and the tests are passing then it might be good to go?

I don't think so but I haven't had the opportunity to test things locally yet, I was planning to do it tomorrow.
However if you are happy with the code and the tests are passing then it might be good to go?

If the tests are passing then it's likely good to go. No rush though, I'm happy to wait until you test things locally tomorrow.

I think it's finally ready to go @armaniferrante! I upgraded @solana/web3.js again as it's been updated since the previous commit I made.
I've done some precursory local checks and am happy with everything now, but I'd appreciate it if you could just quickly double check things look ok as I'm still learning my around this library. But as you say, the tests should pick up if there were any issues so I feel pretty comfortable about it being merged now.
Thanks for your interaction throughout this PR 🙏  hopefully there will be more to come.

Actually, there might be an issue... but I'm not sure... I'm just raising it now so you're aware before merging.
The latest solana/web3.js has changed the RPC urls, so the ones specified in cluster.rs won't match the new ones returned by the web3.js library


WIP: Issue10 Module loading

Imports the required infrastructure to provide module loading.
This is being left as WIP until it has been tested by being used on the ElementData feature branch. Once it works to my satisfaction there, this PR can be merged into develop.

The config branch has subsumed this one now. See #16 for further developments.


[PAP] Show nucleotide positions for every path

This is the visualization half of https://github.com/vgteam/odgi/issues/78

Although we have a median nucleotide position for every path, I think we are not accurate enough. At least I am not perfectly happy with it. As the coverage between bins varies, we could end up with a median position of 345 and a median position of 367, although the bin size was 100bp. That is not intuitive and might confuse newcomers.
What I would like to propose via mouse over for each cell in a bin:

pathname
nucleotide start position
the length of a path in nucleotides; -path_length could indicate that the path is reverse

We already have a pathname. And we could change from median to start position relatively easily in odgi. Taking the current bin size, the coverage and orientation of a path for that specific bin, we should be able to calculate the actual length of a path.
What do you think? @josiahseaman  @superjox @ekg @6br?

For biological application, the actual position is always important. Especially in gene region, the one-bp-scale information sometimes relates to frameshift or exon skipping.


Allow fetching of SHA from Env var

When building the app on Heroku for example, there is no .git folder during the build process. This results in version numbers like 1.0.2+ because the SHA commit hash is missing.
Heroku -does- expose the commit hash in a SOURCE_VERSION environment variable that we could tap into in this case.
Any thoughts in how this could be achieved? Perhaps being able to pass in a custom resolver during build could be beneficial?

We could make it possible to specify version via the config/environment.js.
In case of Heroku, it would be something like this,
/* jshint node: true */

module.exports = function(environment) {
  var ENV = {
    modulePrefix: 'dummy',
    environment: environment,
    rootURL: '/',
    locationType: 'auto',
    EmberENV: {
      FEATURES: {
        // Here you can enable experimental features on an ember canary build
        // e.g. 'with-controller': true
      }
    },

    APP: {
      // Here you can pass flags/options to your application instance
      // when it is created
    }
  };

  if (environment === 'development') {
    // ENV.APP.LOG_RESOLVER = true;
    // ENV.APP.LOG_ACTIVE_GENERATION = true;
    // ENV.APP.LOG_TRANSITIONS = true;
    // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
    // ENV.APP.LOG_VIEW_LOOKUPS = true;
  }

  if (environment === 'test') {
    // Testem prefers this...
    ENV.locationType = 'none';

    // keep test console output quieter
    ENV.APP.LOG_ACTIVE_GENERATION = false;
    ENV.APP.LOG_VIEW_LOOKUPS = false;

    ENV.APP.rootElement = '#ember-testing';
  }

  if (environment === 'production') {

  }

   ENV['ember-cli-app-version'] = {
      version: process.env.SOURCE_VERSION
   };

  return ENV;
};

In index.js we would check if version option is set and use it instead of the git version.
Alternatively, we could just use APP_VERSION environment variable so you could something like this,
APP_VERSION=SOURCE_VERSION ember build

Do you have a preference?

I think allowing it to be overwritten in config/environment.js, falling back to the manual lookup, sounds like a really elegant solution.

@taras @alexlafroscia I agree, being able to overwrite it in config/environment.js would give sufficient control for this case.

@mirague would you like to put together a PR? 😊

@taras I would love to but I'm afraid I would have no clue where to get started. New to the whole Ember eco-system..

I can tell you and you can give it a try - if you want.

That sounds good to me!
On Thu, 20 Apr 2017, 23:55 Taras Mankovski<EMAIL_ADDRESS>wrote:

I can tell you and you can give it a try - if you want.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/EmberSherpa/ember-cli-app-version/issues/41#issuecomment-295932306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAK3xeItccbJR9ADUlebOib3XonenHarks5rx9RDgaJpZM4NDkaQ
.

Ok, here are the steps:

Fork this repo, so you'll have something like github.com/mirague/ember-cli-app-version
Clone that repo locally
Run npm install && bower install inside of local ember-cli-app-version directory
Run npm link, this will make this project available for linking inside of your app
Go into your app and run npm link ember-cli-app-version
Now you're ready to dev
Add to your app's environment/config.js ENV['ember-cli-app-version'] = {
  version: process.env.SOURCE_VERSION
 };

On line 9 in ember-cli-app-version/index.js you will have access to configurations that are specified in your app's config/environment.js
You can console.log(config) to see what you get there
You should be able to do something like this if (config.version) {
    return config;
 }

Test it by running APP_VERSION=123412.123124 ember serve
Commit change and create a PR

Try this and let me know how it goes

Giving this a go now!


Add support for acme http-01 challenge

This is my work on implementing the ACME http-01 challenge.
It makes use of the SFTP destination, to avoid writing duplicate code for handling sftp connections. I'm not sure if it might make more sense to introduce a new type of destination plugin, that shares code with the SFTP one, but is specific just for acme/http challenges, to avoid confusion for the users.
Right now it doesn't support renewal of certificates yet, it's just the barebones implementation to create a new certificate using the HTTP-01 challenge.
Feel free to provide feedback to this pull request, I'll continue working on this for the next few days.
Currently lacks tests, I'll try to implement these as well.
Fixes #3164
Fixes #3154

Coverage decreased (-0.1%) to 57.864% when pulling 6f68bef2f1854df27f6e88feca2be66bb769374b on unic:feature/acme-http-challenge into 12e8e4891cd9454ae92b68d7421bae3071591940 on Netflix:master.

@hosseinsh in #3157 there is the issue of using EAB with the ACME protocol. And thinking about it, I realised that maybe it might be more useful, to have a single ACME IssuerPlugin where you can choose the validation method, instead of having two dedicated IssuerPlugins. What do you think, is the better approach?

Fixes #3154

I've now refactored the way, how the destinations are displayed on the authority create screen.
It's now reloading them using the DestinationService, and I've introduced a new type of element destinationSelect so it can be reused, if there's need for it.

However, I liked your idea of having two separate plugins, specially as it improves the plugin's readability. The DNS validation segment requires some updates and refactoring in the future, to become stateful and hence more performant. This separation could have made that improvement potentially easier.

That was also my idea, to avoid mixing the code base, but due to the AcmeHandler a lot of code could already be reused, and it's possible to refine that a bit more.
But if the DNS validation should be refactored anyway, I might leave it like this for now.

However, the arguments from the issue of using EAB with the ACME protocol would warrant a single plugin, where via issuer options we would be able to define: DNS, HTTP-01, None, or other options in the future.
We can support backward compatibility, but defaulting to DNS if no validation method is provided in the options.
I thought about that quite a bit, and unless we also change the frontend to allow for more dynamic options (at least for the ACME authorities), this might become quite overloaded, since the different options, require different fields.

Even when splitting between EAB and non-EAB providers (instead of splitting between challenge types), you end up with a few unnecessary fields if you don't display them dynamically.
No matter which of these two options is chosen, I think moving the create_certificate methods of ACMEIssuerPlugin and ACMEHttpIssuerPlugin into a (for example) AcmeHttpChallenge and AcmeDnsChallenge class, would be more optimal, and allow for a abstract AcmeChallenge class, which implement revoke_certificate for all of them and still allows for readable code while also enabling implementing further Challenge types, if they become relevant.
This way you could also easily switch between having separate IssuerPlugins, or just a dropdown in the issuer_options

No matter which of these two options is chosen, I think moving the create_certificate methods of ACMEIssuerPlugin and ACMEHttpIssuerPlugin into a (for example) AcmeHttpChallenge and AcmeDnsChallenge class, would be more optimal, and allow for a abstract AcmeChallenge class, which implement revoke_certificate for all of them and still allows for readable code while also enabling implementing further Challenge types, if they become relevant.

+1 on this.
Today, I learned about an important edge case that the current two plugin design doesn't support, namely, a SAN certificate request that requires mixing the validation methods. For instance, a wildcard SAN which would require DNS validation.
I am still figuring out if ACME,  this case Let's Encrypt, supports this use-case (url).
My initial intuition is this should be supported since, for each domain, all types of validations are returned in the Authorization object.
It certainly gets more tricky with how to decide on the validation method per domain. I need to do more thinking about this, but one idea could be to differentiate based on the presence of wildcard domain. For instance, in a plugin design, we would branch off to http-01 validation, unless a wildcard domain is present. In this case, a hybrid approach is required, during which we first answer_challenge for all non-wild-card SANs, and then trigger the normal DNS flow for the remaining DNS authorization.
This is not something we should address within this PR, but I wonder if this use-case would make the case for the one plugin design?

Today, I learned about an important edge case that the current two plugin design doesn't support, namely, a SAN certificate request that requires mixing the validation methods. For instance, a wildcard SAN which would require DNS validation.

Wow, I haven't even thought about that. But according to your post in the community, it really does work,  but it seems to be so uncommon that not even certbot properly supports it but acme.sh does (link)
But I think this exceeds the scope of this pull request, and will create a separate ticket for it.
For now I will start refactoring the challenges into their own class, but leave it as two plugins, and would propose to merge it into a single authority (using a more dynamic UI) in the follow up ticket.

But I think this exceeds the scope of this pull request, and will create a separate ticket for it.

agree.

For now I will start refactoring the challenges into their own class, but leave it as two plugins, and would propose to merge it into a single authority (using a more dynamic UI) in the follow up ticket.

Awesome. Thank you.

once Lemur's ACME plugin becomes stateful, such that the domain validation status is persisted (30 days valid for LE), it would be way more convenient to mix the validation types.

for completeness, adding also a reference to https://github.com/Netflix/lemur/pull/3192  for
Expanding the S3 plugin with acme-http01-token support

Took me some time, to get back to this pull request.
But now I've refactored most of the challenge related code into AcmeChallenge classes, but also had to split the handlers from the plugin to avoid a circular import.
There are still some things I would like to optimise as well as improve the tests and rebase to master again

nice work Mathias!
I gotta check out the latest changes for local testing and code review.
Keep up the good work :raised_hands::skin-tone-4:

I broke quite a few tests, with the refactoring, and also the previous few commits. But especially the refactoring, since I now have to mock for example 'current_app' multiple times within one test case.
I'm currently working on getting the tests to work again, but until now, I only needed to change which classes are patched, and no logic within the test, and a quick manual test, was successful, so I'm confident I didn't break too much. But i still need to invest some time to fix it all

yeah, a rebase first might be worth it.

Hi @peschmae, that is a milestone! nice work!
I haven't had the time to make progress on the http01 work as much as I was hoping, and needed to prioritize work on other corners of Lemur. Planing to spend time in the comings days to view and test this PR, and get it merged.

I'll make sure to merge master (with the changes from #3221) today or on the weekend

Thanks for the quick workaround @peschmae, and addressing all the feedback.

@hosseinsh I've implemented the remaining feedback (like removing the token value), and while at it, added tests for the lemur_sftp plugin.
I also found some more duplicate code, that I cleaned up. And now it's really ready for the merge.

nice work with deduplicating the cert extraction, it makes things easier for any changes on pinning to the cross-signed ICA.
all changes look good to me.
Merging now.
Thanks again @peschmae for the PR. It was fun working wit you on this PR.


Update quickstart docs to use correct query

Update docs > guides > quickstart.rst > 5. Run some queries.
Fix the filter to use ILIKE, like the paragraph above the code sample explains.

Good catch! I decided to switch from using ilike to simply filtering by the Movie.id property, and I did a terrible job of switching. Closing this in favor of https://github.com/edgedb/edgedb/pull/3372. Thanks!


help End2End example of Translation Task for own dataset

I want to run the T2T Transformer model for own data-set and although searched couldn't found a clean and end to end example for it. Need some example/suggestion with accurate points to follow.

Thanks a lot Martin.


refactor: compute DOPE stats

ah my bad github automatically opened this pr against here. happy to contribute anything back though!

Np, glad the repo is helpful!


v0.9.0_07: Values for min and max on size scale are missing

SEVERITY:  Minor
MODULE: Bubble chart
Platform:  Windows 7 / Chrome 46.0
RELEASE: v0.9.0
STEPS TO REPRODUCE:

Navigate to the URL : http://static.gapminderdev.org/vizabi/release/v0.9.0/preview/bubblechart.html
Bubble chart will be loaded.
Click “Full” under RESPONSIVENESS
Click “Size”
Note that values are missing for min and max size

ACTUAL RESULTS:
Values are missing for min and max size
EXPECTED RESULTS:
Values should be available for min and max size
SCREENSHOT:

promise is resolved before "afterLoad" action finished sometimes on some machines
(it's true. if i switch the two i can reproduce the bug exactly)

Hmm, that would mean there is some async code in afterLoad, other promises or async loading? That's not the case is it?

it has Events.unfreezeAll(), and that might contain hell knows what, anything of what you named

https://github.com/Gapminder/vizabi/pull/1138

yes!


configuration problems with microsoft integration runTime

after modifying the .config file still having trouble connecting Integration Service to ADF -
error : unable to connect to other intergration Runtime(Self-hosted) nodes,

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 32785d15-8202-6e44-f1d2-420ef0600f3f
Version Independent ID: 3af5fa49-7bd4-18ce-f8dc-aa4a2b8c6478
Content: Create self-hosted integration runtime in Azure Data Factory
Content Source: articles/data-factory/create-self-hosted-integration-runtime.md
Service: data-factory
GitHub Login: @nabhishek
Microsoft Alias: abnarain

@nageshVutukuru Thanks for the feedback. We are actively investigating and will get back to you soon.

@nageshVutukuru
Since we haven't received a reply for two days, We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

how can I modify  my gateway key ? , in Integration RunTime, , currently I'm uninstalling and reinstalling , which is a pain , checked  in .config files , could not find trace of this key value -- , help is highly appreciated.


MM-45511: Add upgrade flow for request update

Summary
This PR adds an upgrade flow for the request update button. It also fixes a bug that I have no idea it was there, because it's pretty bad. Check the videos below for the flows:
Sysadmin flow
https://user-images.githubusercontent.com/3924815/178053054-c8845186-4651-47f7-a212-bbfb83a9a345.mp4
Regular user flow
https://user-images.githubusercontent.com/3924815/178053086-780239b4-ee32-4440-8337-6ec998a1feb6.mp4
Ticket Link
https://mattermost.atlassian.net/browse/MM-45511
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

@trilopin, the request update flow is still not there for participants, right? Should we create a ticket for that?

@abhijit-singh, I had to cut the scope drastically, using the same upgrade flow we already had implemented. Adapting the flow to the new style to match Cloud's is a bigger task that we should tackle separately. Please let me know whether this flow makes sense for this iteration or not.

@trilopin, the request update flow is still not there for participants, right? Should we create a ticket for that?

There's a ticket and, I'm with it :)

I tried the feature and I (as system admin) did not receive any message. How should I have received that?

You should receive a DM from the Playbooks bot. Could you specify the steps you took?

I tried the feature and I (as system admin) did not receive any message. How should I have received that?

You should receive a DM from the Playbooks bot. Could you specify the steps you took?

all good, I wasn't testing properly


Erroneously reporting Dual Infeasible

A number of times I've seen Mosek return primal infeasible only for GPkit to tell me the model is Dual Infeasible...the inverse has happened as well. I'm guessing this is an error. If it isn't, it is confusing and I think could warrant some better explanation in the error print out.
Screen Shot 2016-11-08 at 9.25.41 AM.PDF

Why is your screenshot a pdf?

Also, this is expected :) MOSEK is solving the dual as the primal (and vice versa), so GPkit flips the error messages.

We could reach in an edit the raw MOSEK output before printing it...but I don't think we should?

ah okay didn't realize that!

The More You Know :rainbow:

yeah I agree that we shouldn't edit at that level. Note that right below where mosek reports "PRIMAL_INFEASIBLE_CER", it also reports,
* End solution on dual form. *
Transforming to primal solution.

(as expected)

Here's the relevant section of the MOSEK docs in case anyone is interested: http://docs.mosek.com/8.0/capi/advanced-expopt.html#choosing-primal-or-dual-form


seanaye/chore/pull upstream

Pull in upstream changes.
I think I did properly

@seanaye Based on what I see amongst the massive amount of changes, they essentially did a rewrite on some parts and moved a lot of files into other portions so changes that we've made to will no longer exist in the proper place (as they are considered new files), including the glyph positions.
This will also likely affect some types used in our app, since the JSDoc signatures are used to generate the typescript used.
The net result of the changes we've made can be seen here:
https://github.com/mozilla/pdf.js/compare/master...coparse-inc:pdf.js:master
We need to ensure that these changes are ported over correctly. After they are ported, functionality reliant on our changes still function correctly, namely:

Creating highlights with the correct text visible in the sidebar
Loading existing highlights with the correct text visible in the sidebar
Search functionality including:

Match result previews in the sidebar contain the correct text
Jumping to matches by using the up/down arrow keys
Jumping to matches by clicking on a match

Once this functionality has been QA'd and general PDF behavior functions correctly, I think it's relatively safe to move forward with the PDF.js-based decryption.

It's also worth noting that some functionality that we use to remove flickering when selecting text is permanently removed upstream:
https://github.com/mozilla/pdf.js/pull/15259
It's worth checking if selecting text across multiple paragraphs with sizable gaps between them flickers in this updated version, because we might have to figure out a better fix than simply re-integrating the enhanceTextSelection functionality.

Also of note, there are likely changes that were done to the find controller. We extend and override the find controller class here:
https://github.com/coparse-inc/app-monorepo/blob/master/packages/app/src/pdfViewer/FindController.ts#L50-L169
The methods that have been overridden to support our functionality may have to be changed.

8b23f6b looks like you wanted to drop this before merge? @seanaye

@chase yea, not done yet I've been working on release stuff

Closed in favor of #3


Spell check for analysis_options.yaml

I have found misspelling.
from yested to tested correctly.

@googlebot I signed it!

@googlebot I fixed it.


Need scraper for D.C. Circuit orders of public interest

https://www.cadc.uscourts.gov/internet/orders.nsf
While there is a scraper for the "opinions" of the D.C. Circuit, we apparently do not collect the "Orders of Public Interest" where they put the occasional "order" for higher-profile or newsworthy cases. That's a mistake because they are "of Public Interest" and the D.C. Circuit is a particularly important appellate court due to the number of government-related cases it hears.

Expect these soon, @brianwc. Thanks for filing the request (a year and a half ago).


TensorFlow source code compilation error

Issue type
Build/Install
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
tf 2.18.0
Custom code
Yes
OS platform and distribution
Ubuntu 24.04.1 LTS
Mobile device
No response
Python version
3.12.1
Bazel version
7.3.1
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
My CPU supports AVX512F, I want to build it from source to support my CPU instruction set
Standalone code to reproduce the issue
ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': no such target '//tensorflow/tools/pip_package:build_pip_package': target 'build_pip_package' not declared in package 'tensorflow/tools/pip_package' defined by /usr/workerdir/workerspace/tensorflow/tensorflow/tools/pip_package/BUILD (did you mean 'build_pip_package.py'? Tip: use `query "//tensorflow/tools/pip_package:*"` to see all the targets in that package)
WARNING: Target pattern parsing failed.

Relevant log output
ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': no such target '//tensorflow/tools/pip_package:build_pip_package': target 'build_pip_package' not declared in package 'tensorflow/tools/pip_package' defined by /usr/workerdir/workerspace/tensorflow/tensorflow/tools/pip_package/BUILD (did you mean 'build_pip_package.py'? Tip: use `query "//tensorflow/tools/pip_package:*"` to see all the targets in that package)
WARNING: Target pattern parsing failed.

Since I successfully compiled this version about tensorflow-2.16.0-cp311-cp311-linux_x86_64.whl , after I have never successfully compiled it again.  Is very sad.

Ensure the Build Environment is Properly Configured:
Install all required dependencies:
bash
Copy code
sudo apt-get install python3-dev python3-pip git zip unzip
sudo apt-get install build-essential gcc g++ cmake
Install Bazelisk for easier Bazel management:
bash
Copy code
sudo apt install bazelisk
Clone the TensorFlow Repository:
Use the official TensorFlow GitHub repository and check out the appropriate branch or tag:
bash
Copy code
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout v2.18.0
Configure the Build:
Run TensorFlow’s configure script to specify build options:
bash
Copy code
python3 configure.py
Ensure you enable AVX512F during the configuration process:
When prompted for "Additional CPU optimizations like AVX512?", answer Yes.
Update the Build Command:
The build_pip_package target has likely been renamed or moved. Use the following updated commands to build the pip package:
bash
Copy code
bazel build //tensorflow/tools/pip_package:build_pip_package
Generate the Wheel File:
After the build completes, generate the pip package:
bash
Copy code
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
The resulting .whl file will be in /tmp/tensorflow_pkg.
Install the Wheel File:
Install the custom-built TensorFlow package:
bash
Copy code
pip install /tmp/tensorflow_pkg/tensorflow-*.whl

Still incorrect. This is a hint.
problem 1
ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': no such target '//tensorflow/tools/pip_package:build_pip_package': target 'build_pip_package' not declared in package 'tensorflow/tools/pip_package' defined by /usr/workerdir/workerspace/tensorflow/tensorflow/tools/pip_package/BUILD (did you mean 'build_pip_package.py'? Tip: use query "//tensorflow/tools/pip_package:*" to see all the targets in that package)
WARNING: Target pattern parsing failed.
ERROR: no such target '//tensorflow/tools/pip_package:build_pip_package': target 'build_pip_package' not declared in package 'tensorflow/tools/pip_package' defined by /usr/workerdir/workerspace/tensorflow/tensorflow/tools/pip_package/BUILD (did you mean 'build_pip_package.py'? Tip: use query "//tensorflow/tools/pip_package:*" to see all the targets in that package)
INFO: Elapsed time: 0.062s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
This is the command what I entered.
bazel build //tensorflow/tools/pip_package:build_pip_package
problem 2.
when  i  was run python3 configure.py  after  i can't see any about this
"Additional CPU optimizations like AVX512?"  Tips
There must be something wrong with your source code. The path is wrong.

I am also trying to build from source
try
bazel build //tensorflow/tools/pip_package:build_pip_package_py
or
bazel build //tensorflow/tools/pip_package:build_pip_package.py
i think also bazel version is important could you try with bazel 6.5.

@sharkcpt,
Tensorflow 2.18 is not compatible with the Bazel 7.3.1. Could you please try to install with the compatible versions. Also take a look at the tested build configurations for the reference. Thank you!

I'm NGL, I've been using Linux for 4 months now, the first month and a half of that was on a laptop not compatible with Linux(it was a nightmare).  I've spent the last 3-4 days just trying to make this thing function.. That's literally all I've done.
All I see everywhere I've gone 'bazel-bin' But this damned thing doesn't create a bazel-bin symlink or folder.. It creates bazel-out and bazel-tensorflow, but no bazel-bin. I just has the epiphany just now to rename the bazel-out to bazel-bin, and adjusted this line to
 bazel-bin/tensorflow/tools/pip_package/build_pip_package.py /tmp/tensorflow_pkg
added .py and also went into the folder with that .py file and made the damn thing executable with chmod +x build_pip_package.py cuz it still wouldn't run unless I did. Upon running it, I got the strangest damn thing I ever seen.
bazel-bin/tensorflow/tools/pip_package/build_pip_package.py: line 25: Tool to rearrange files and build the wheel.

In a nutshell this script does:
1) Takes lists of paths to .h/.py/.so/etc files.
2) Creates a temporary directory.
3) Copies files from #1 to #2 with some exceptions and corrections.
4) A wheel is created from the files in the temp directory.

Most of the corrections are related to tsl/xla vendoring:
These files used to be a part of source code but were moved to an external repo.
To not break the TF API, we pretend that it's still part of the it.
: No such file or directory
import: unable to grab mouse '': Resource temporarily unavailable @ error/xwindow.c/XSelectWindow/9351.
import: unable to read X window image '': Success @ error/xwindow.c/XImportImage/4961.
import:  `subprocess' @ error/import.c/ImportImageCommand/1289.
import: unable to grab mouse '': Resource temporarily unavailable @ error/xwindow.c/XSelectWindow/9351.
import: unable to read X window image '': Success @ error/xwindow.c/XImportImage/4961.
import:  `sys' @ error/import.c/ImportImageCommand/1289.
import: unable to grab mouse '': Resource temporarily unavailable @ error/xwindow.c/XSelectWindow/9351.
import: unable to read X window image '': Success @ error/xwindow.c/XImportImage/4961.
import:  `tempfile' @ error/import.c/ImportImageCommand/1289.
from: too many arguments
from: too many arguments
from: too many arguments
from: too many arguments
from: too many arguments
bazel-bin/tensorflow/tools/pip_package/build_pip_package.py: line 43: syntax error near unexpected token `('
bazel-bin/tensorflow/tools/pip_package/build_pip_package.py: line 43: `def parse_args() -> argparse.Namespace:' ```

It ran just fine, sorta.. It froze my display and turned my cursor into a crosshair, and when I clicked, my screen unfroze. I had to click several times just to get to the end of that before it un-hyjacked my display. After which, I looked in the folder with the tensorflow folder that I cloned from github, it had turned 8 files in that folder into screenshots..
![Screenshot_20241216_024823](https://github.com/user-attachments/assets/8691f2f1-82cb-4344-b371-2d8c9464db6a)

Don't get me wrong, I don't mean to get mad at anyone here(or look like I am), I'm just agitated in general from this whole experience. I mean, how hard does it have to be to flip a few switches on optimization flags. In all honesty, when it comes right down to it, I'm sure this will just boil down to outdated dependencies used by new programs, or permissions nonsense of somesort. It's ALWAYS one of those two things with Linux.

> I am also trying to build from source try bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu i think also bazel version is important could you try with bazel 6.5. check the docs also https://www.tensorflow.org/install/source

Yea... I looked at that, and I'm about to have an aneurysm/heart attack just trying to process that.. especially due to all the 'apt-get' this and that. I'm on Garuda-Linux. I don't apt, I pacman, and tried getting python3-dev via pacman and nothing, tried yay, even tried flatpak, no python3-dev..

Well, I'm gonna go catatonic now while I sulk over my fail of the day..

So, the build targets have changed since 2.16. Now, you basically need to make sure that
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu

succeeds. It might fail if you don't have some dependencies (the instructions assume Ubuntu OSes, for other operating systems you have to find your own dependencies and install them).
If the above passes, then you get a CPU-only wheel, but at least from this point onwards there won't be many more changes needed to get a GPU one too

So, the build targets have changed since 2.16. Now, you basically need to make sure that
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu

succeeds. It might fail if you don't have some dependencies (the instructions assume Ubuntu OSes, for other operating systems you have to find your own dependencies and install them).
If the above passes, then you get a CPU-only wheel, but at least from this point onwards there won't be many more changes needed to get a GPU one too

Well, I'm in Garuda. Not sure how that would differ in terms of dependencies. As for tensorflow. The idea was to add the CPU optimizations to the GPU tensorflow.  So, I figure it'd be handy to have CPU optimizations to maximize the efficiency when offloading.